我用这条线合并:
partner = em.merge(partner);
这是我的实体:
@PrePersist
public void updateModificationDate(){
this.lastModificationDate = new Date();
}
正如您所看到的,我希望在最后一次更改实体时保持警惕,
但该方法永远不会被调用,
有人知道我能做些什么吗?
答案 0 :(得分:2)
您可以向您的实体添加以下注释:
@EntityListeners(SaveOrUpdateDateListener.class)
实际上听众会是:
public class SaveOrUpdateDateListener {
@PrePersist
@PreUpdate
public void setDate(final CertApplication entity) {
final Date now = new Date();
entity.setUpdated(now);
}
}
答案 1 :(得分:1)
您可以阅读this并了解为什么不会调用prepersist。另外我认为你可以使用@Version
注释来保持实体的最后修改日期。
答案 2 :(得分:0)
尝试强制使用em.flush(),但我不太确定强制刷新是否是一种好习惯。