У меня есть хранимая процедура, которая возвращает столбец с типом данных как datetime2 в базе данных и Date в файле Java. Когда я пытаюсь вызвать getTime() на полученное время из базы данных. Он возвращает 19994321211 миллисекунды, что эквивалентно Mon May 04 00:00:00 IST 2015. В идеале он должен возвращать миллисекунды 2015-05-04 15:21:52, так как это время, указанное в базе данных, когда процедура выполняется напрямую.Hibernate MSSQL datetime2 mapping
Поскольку я новичок в Hibernate, я не могу понять, связана ли проблема с отображением hibernate или чем-то другим, который я пропускаю.
<hibernate-mapping>
<sql-query name="getMLC">
<return-scalar column="mlcid" type="int" />
<return-scalar column="completionTime" type="date" />
{ call lsc.MLC_Get(:ABC, :XYZ, :ErrorCode)}
</sql-query>
</hibernate-mapping>
class Mlc implements java.io.Serializable {
private Integer mlcid;
private Date completionTime;
// getter and setter
}
Я создал класс, как показано вами и в hibernate.cfg.xml, заменить старый код с новый, как показано ниже, но все же он не работает. Пожалуйста, помогите, если требуются другие изменения. \t \t org.hibernate.dialect.SQLServerDialect \t \t <имя свойства = "hibernate.dialect"> my.package.DateTime2SQLServerDialect – jasminum
Проверьте мой обновленный ответ –