Tag: datetime2

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 }

SQL Server的timestamp2应该如何在JDBC中运行?

我在SQL Server 2008中尝试使用timestamp2而不是Timestamp时遇到了一些麻烦。显然,rs.getTimestamp在timestamp和timestamp2之间的行为非常不同。 但是,我找不到任何文件说明应该存在差异,或者我应该使用不同的东西。 我想知道我是否只是做错了什么。 环境: 试用SQL Express 2008(10.0)和SQL Server 2008 R2(10.5)。 sqljdbc4.jar 3.0版,大小为537,303字节,CRC-32 = a0aa1e25,MD5 = 402130141d5f2cee727f4371e2e8fd8a。 Java 1.6 这是一个演示问题的unit testing。 唯一的“魔法”是“Db.getConnection()”,您可以使用适当的代码替换它。 datetime和datetime2的测试相同,但datetime2测试失败,日期为2天。 我将数据库中的所有时间视为GMT / UTC,并且我没有尝试将时区信息添加到datetime2数据的数据库数据中。 private void testTimestamp(TimeZone gmtTz, Connection conn, String query, Calendar expectedCal) throws SQLException { PreparedStatement stmt = conn.prepareStatement(query); ResultSet rs = stmt.executeQuery(); while (rs.next()) { // Note the expectedCal […]