我正在尝试在我接手的一个项目中建立一个嵌入式数据库H2。现在,我们有了一个具有列值类型datetime2
的server。
H2不能创建带有datetime2
类型的列,如果我将它更改为普通的datetime
,那么一切都是正确的,但是项目本身也会出现问题,因为hibernate注释是错误的,因为DB列是一个datetime2
。
守则:
@Column(name = "LASTUPDATETIME", columnDefinition = "datetime2 DEFAULT CURRENT_TIMESTAMP")
private Timestamp timeStamp;
这可以用H2 (为测试更改注释或让H2接受datetime2)来完成,还是必须搜索另一个嵌入式数据库?
发布于 2014-04-08 08:09:31
H2数据库目前不支持数据类型datetime2
(从1.3.176版本开始)。但是,现在对它的支持是加到后备箱里,并将在下一个版本中提供。
因此,如果您现在想使用H2,那么您可以使用较新的版本(例如,您可以自己构建它),或者更改为datetime
,直到使用较新的版本为止。
发布于 2014-04-07 07:20:32
Java列类型应该适用于您,datetime2是微软特有的数据类型。以前,我已经无缝地将应用程序从MS迁移到H2数据库,当然,我必须更改注释,但是计算等不受影响。
https://stackoverflow.com/questions/22905280
复制相似问题