我有一个具有以下列定义的实体:
@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中可移植性的最佳解决方案,以及实现具有日期+时间值的两个(或更多)列?