Hibernate MSSQL datetime2映射

我有一个存储过程,它返回一个数据类型为datetime2的数据库,数据库为Date,Java文件为Date。 当我试图从数据库中获取时间时调用getTime()。 它返回19994321211毫秒,相当于2015年5月4日00:00:00 IST 2015.理想情况下它应该返回2015-05-04 15:21:52的毫秒,因为这是直接执行过程时数据库中显示的时间。

由于我是Hibernate的新手,我无法理解这个问题是否与hibernate映射有关或我错过了什么。

    { call lsc.MLC_Get(:ABC, :XYZ, :ErrorCode)}   class Mlc implements java.io.Serializable { private Integer mlcid; private Date completionTime; // getter and setter } 

尝试注册一个新的驱动程序,如下所示:

 public class DateTime2SQLServerDialect extends SQLServer2008Dialect { public DateTime2SQLServerDialect () { super(); registerColumnType(Types.DATE, "datetime2"); } } 

然后使用这个方言代替:

 my.package.DateTime2SQLServerDialect 

也尝试改变这个:

  

对此:

  

如果您正在使用实体,则可以指定列类型:

 @Column(columnDefinition="datetime2") private Date completionTime; 
 I am able to solve above scenario by changing datatype as below,driver registrayion is not required:     { call lsc.MLC_Get(:ABC, :XYZ, :ErrorCode)}   class Mlc implements java.io.Serializable { private Integer mlcid; private TimeStamp completionTime; // getter and setter }