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 に答える