Nic*_*men 1 java mysql hibernate jpa
在我们的基本实体类(所有实体派生自)中,我们拥有2种方法.一个annotatted,@PrePersist其中基本上只设置dateCreated,另一个注释@PreUpdate用于设置dateUpdated字段.
这非常有效,因为我们不希望dateUpdated在创建时设置该字段.作为设计的一部分,我们还制作了两种方法,protected以便其他开发人员不会明确地弄乱那两个日期(也没有设置者).
此外,我们可以很容易地扩展任何实体,dateUpdated通过在实际实体上定义方法并在其上添加注释来设置创建字段@PrePersist,因此本部分将被涵盖.
现在,我的问题是,有一种情况我们希望显式更新dateUpdated实体上的字段,而不会更改任何数据(基本上就是touch这样).这样做有一种优雅的方式吗?我真的不想实现一个方法来改变其中一个字段然后再将其更改.我们希望在没有setter方法的情况下继续使用这些字段.
谢谢!
您是否尝试过更改dateUpdated字段值?我想这应该将实体修改为Hibernate,而Hibernate将调用@PreUpdate将该dateUpdated字段设置回当前时间的方法:
public void touch() {
this.dateUpdated = -1;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1193 次 |
| 最近记录: |