使用Hibernate和MySQL的创建时间戳和最后更新时间戳

对于某些Hibernate实体,我们需要存储其创建时间和上次更新时间。你将如何设计?

  • 你将在数据库中使用什么数据类型(假设使用MySQL,可能与JVM时区不同)?数据类型是否支持时区?

  • 你会在Java中使用什么数据类型(Date,Calendar,long,…)?

  • 你将由谁负责设置时间戳(数据库,ORM框架(hibernate)或应用程序程序员)?

  • 你将使用哪些注释进行映射(例如@Temporal)?

我不仅在寻找可行的解决方案,而且还在寻找安全且设计良好的解决方案。

回答:

你可以使用@CreationTimestamp@UpdateTimestamp:

@CreationTimestamp

@Temporal(TemporalType.TIMESTAMP)

@Column(name = "create_date")

private Date createDate;

@UpdateTimestamp

@Temporal(TemporalType.TIMESTAMP)

@Column(name = "modify_date")

private Date modifyDate;

以上是 使用Hibernate和MySQL的创建时间戳和最后更新时间戳 的全部内容, 来源链接: utcz.com/qa/399508.html

回到顶部