この行を使用してマージします。
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() を強制してみてください。ただし、フラッシュを強制することが良い方法かどうかはよくわかりません。