PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Преобразуване на DateTime в NHibernate Postgresql

Разбрах!

Очевидно листът за преобразуване, който свързах до е грешно или остаряло. Оказва се, че обектът System.TimeSpan е това, което е необходимо, за да може Npgsql да извърши правилно преобразуване към обект "време" на Postgresql. Струва ми се странно, че се опитват да преобразуват нещо, което представлява разликата между две времена, в това, което смятаме за ЧЧ:мм:сс, но това е така.

Вместо да променя типа на моето свойство RunTime от System.DateTime на System.TimeSpan, вместо това създадох персонализиран IUserType и замених NullSafeSet, за да изглежда така

public override void NullSafeSet(IDbCommand cmd, object value, int index)
{
    var obj = (DateTime)value;

    ((IDbDataParameter) cmd.Parameters[index]).Value = new TimeSpan(0, obj.Hour, obj.Minute, obj.Second);
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. org.hibernate.MappingException:Няма съпоставяне на диалект за тип JDBC:1111

  2. Изход на заявка с отстъп

  3. JDBC драйверът не е наличен за „org.postgresql.Driver“ за Spring Roo

  4. ALTER TABLE за добавяне на нова колона на ограничено дисково пространство

  5. Използване на INSERT с PostgreSQL база данни с помощта на Python