我所有的数据库表都应有一个endTime字段,默认情况下应为END_OF_TIME或类似的内容。我对2038的限制不满意,所以我希望endTime在mysql中为DATETIME类型。
我的Java代码是:
@MappedSuperclass @Inheritance(strategy=InheritanceType.TABLE_PER_CLASS) public class BaseDBEntity { @Id @Column(length=36) public String id; @Temporal(TemporalType.TIMESTAMP) public Date startTime; @Temporal(TemporalType.TIMESTAMP) public Date endTime; public BaseDBEntity() { } }
我可以通过手动创建带有DATETIME类型的endTime字段的表来解决,而不是将实体endTime映射到该列,但是我希望Hibernate自动生成表- 我该怎么做?
使用注释的columnDefinition属性:@Column
columnDefinition
@Column
@Column(name = "startTime", columnDefinition="DATETIME") @Temporal(TemporalType.TIMESTAMP) private Date startTime;
并且请将您的属性设为私有。