0

我用这条线来合并:

partner = em.merge(partner);

这是在我的实体中:

@PrePersist
public void updateModificationDate(){
    this.lastModificationDate = new Date();
}

如您所见,我想跟上实体上次更改的时间,

但该方法永远不会被调用,

有人知道我能做什么吗?

4

3 回答 3

2

您可以向您的实体添加以下注释:

@EntityListeners(SaveOrUpdateDateListener.class)

实际上听众是:

public class SaveOrUpdateDateListener {

    @PrePersist
    @PreUpdate
    public void setDate(final CertApplication entity) {
        final Date now = new Date();
        entity.setUpdated(now);
    }
}
于 2013-03-12T08:39:53.390 回答
1

您可以阅读本文并了解为什么不调用 prepersist。另外我认为您可以使用@Version注释来保持实体的最后修改日期。

于 2012-07-06T10:03:15.083 回答
0

尝试强制 em.flush() 但我不太确定强制刷新是否是一个好习惯。

于 2016-11-01T20:17:37.587 回答