开发过程中遇到如何在带有Hibernate注释的mysql中将Java日期映射到DATETIME(默认为TIMESTAMP)的问题如何解决?下面主要结合日常开发的经验,给出你关于如何在带有Hibernate注释的mysql中将Java日期映射到DATETIME(默认为TIMESTAMP)的解决方法建议,希望对你解决如何在带有Hibernate注释的mysql中将Java日期映射到DATETIME(默认为TIMESTAMP)有所启发或帮助;
使用注释的columnDeFinition
属性:@Column
@Column(name = "startTime", columnDeFinition="DATETIME")
@Temporal(TemporalType.TIMESTAMP)
private Date startTime;
并且请将您的属性设为私有。
我所有的数据库表都应有一个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自动生成表-
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。