2009-07-27 10 views
5

私は、EntityManagerがデータベース(別名イベントリスナー)に保存するたびに呼び出されるJPAアノテーション付きクラスの1つに関数を追加したいと考えています。それは可能ですか?私はそれがちょうど保存しようとしているのか、まさに保存されているのかを区別したいと思います。データベースに保存されるたびにJPAマップされたクラスでアクションをトリガーするにはどうすればよいですか?

私が欲しいものを達成するために、今度はセッターメソッドで回避することができますが、それは全く同じではありません。

答えて

7

確かに、these examplesをチェックしてください。あなたは持っています:

  • @PrePersist;
  • ​​;
  • @PreRemove
  • @PostPersist;
  • @PostUpdate;および
  • @PostRemove

(漢字で追加) - 私はこの回答を初心者に使用して、this other nice example tutorialも見つけました。

+0

こんにちは、私は最初のリンクを開くことができない、第二のリンクは正しいものではないようです。サンプルコードを教えていただけますか?役に立つ情報は – Scarlett

1

このスレッドは数年前ですが、私は飯能が参照しているチュートリアルでは、この他の(作業)リンク上だと思うので、これは、今無関係である可能性があります

http://www.cereslogic.com/pages/2008/03/31/pizza-shop-iii-jpa-event-listeners/

そして、そこでは、また、ここでは、このテーマに関する他の有用なチュートリアル:

http://www.andygibson.net/blog/article/auditing-entities-with-jpa-events/

私は将来的にこのスレッドを見つけることが人々に何かを貢献すると思いました。

Saludos desdeボリビア

+0

+1です。 (それは本当に質問に答えないので、新しい答えではなく、他の答えに対するコメントとしてより適切かもしれません。) – jogojapan

関連する問題