H2 DB与datetime2

时间:2014-04-07 06:44:31

标签: java sql hibernate h2

我正在尝试在我接手的项目中设置嵌入式数据库H2。 现在我们有一个列值为datetime2的SQL Server服务器。

H2无法创建类型为datetime2的列,如果我将其更改为正常datetime则一切正常但当然项目本身会出现问题导致hibernate注释错误,因为DB列是datetime2

代码:

@Column(name = "LASTUPDATETIME", columnDefinition = "datetime2 DEFAULT CURRENT_TIMESTAMP")
private Timestamp timeStamp;

可以用H2完成(更改注释以进行测试或让H2接受datetime2)或者我是否必须搜索另一个嵌入式数据库?

3 个答案:

答案 0 :(得分:2)

H2数据库当前不支持数据类型datetime2(从版本1.3.176开始)。但是,现在支持它was added to the trunk并将在下一版本中提供。

因此,如果您现在想要使用H2,那么您可以使用更新的版本(例如,您可以自己构建它),或者更改为datetime,直到您使用的是较新的版本。

答案 1 :(得分:0)

Java Date列类型应该适合您,datetime2是Microsoft特定的数据类型。我之前已经将应用程序从MS SQL Server无缝迁移到H2数据库,我当然不得不更改注释,但计算等不受影响。

答案 2 :(得分:0)

可能是切向的。 H2中支持DATETIME2,但DATETIME2(7)(或任何其他精度值)不再像H2 4.197那样工作。