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