jpa mssql使用TemporalType.TIMESTAMP和可移植性创建datetime列

时间:2014-05-29 13:02:12

标签: java sql-server datetime jpa timestamp

我有一个具有以下列定义的实体:

@Temporal(TemporalType.TIMESTAMP)
private Date dateStart;
@Temporal(TemporalType.TIMESTAMP)
private Date dateEnd;

在derby jpa中自动创建TIMESTAMP列。当我想使用与Microsoft SQL Server相同的应用程序时,我遇到了问题,因为jpa会自动创建具有TIMESTAMP类型的列。在MSSQL中,每个表只能存在一个TIMESTAMP列,因此在这种情况下我有错误。我可以通过提供有关列定义的其他信息来解决错误:

@Temporal(TemporalType.TIMESTAMP)
@Column(columnDefinition = "DATETIME")
private Date dateStart;
@Temporal(TemporalType.TIMESTAMP)
@Column(columnDefinition = "DATETIME")
private Date dateEnd;

但是这个解决方案不可移植。 Derby无法创建DATETIME等数据类型。

什么是jpa中可移植性的最佳解决方案,以及实现具有日期+时间值的两个(或更多)列?

0 个答案:

没有答案