在MySQL中,可以在每次更新操作时更新TIMESTAMP行。有没有办法为Hibernate的列实现这一点并将其映射到POJO属性?
所以我有这样的事情:
@Column
private Date updated;
答案 0 :(得分:5)
如果要在数据库端执行此操作,可以指定自定义列定义(如果模式由Hibernate生成,否则需要根据需要在模式中声明它),并指示Hibernate生成此属性在数据库方面:
@Column(columnDefinition = "TIMESTAMP ON UPDATE CURRENT TIMESTAMP")
@Generated(GenerationTime.ALWAYS)
private Date updated;
或者,您可以在应用程序端执行此操作,如Jigar Joshi所建议。
答案 1 :(得分:3)
你可以用它来完成这件事
@PreUpdate
protected void onUpdate() {
updated = new Date();
}