Red Hat Training
A Red Hat training course is available for Red Hat JBoss Web Server
3.2. イベントリスナー
Hibernate Entity Manager はすべての JPA セマンティクスを実装するために Hibernate コアを拡張する必要があります。これは、Hibernate のイベントリスナーシステムにより実現されます。イベントシステムを使用する場合は、いくつかの JPA セマンティクスをオーバーライドする可能性があるので注意してください。安全な方法は、以下に示されたリストにイベントリスナーを追加することです。
表3.2 Hibernate Entity Manager デフォルトイベントリスナー
イベント | リスナー |
---|---|
flush | org.hibernate.ejb.event.EJB3FlushEventListener |
auto-flush | org.hibernate.ejb.event.EJB3AutoFlushEventListener |
delete | org.hibernate.ejb.event.EJB3DeleteEventListener |
flush-entity | org.hibernate.ejb.event.EJB3FlushEntityEventListener |
merge | org.hibernate.ejb.event.EJB3MergeEventListener |
create | org.hibernate.ejb.event.EJB3PersistEventListener |
create-onflush | org.hibernate.ejb.event.EJB3PersistOnFlushEventListener |
save | org.hibernate.ejb.event.EJB3SaveEventListener |
save-update | org.hibernate.ejb.event.EJB3SaveOrUpdateEventListener |
pre-insert | org.hibernate.secure.JACCPreInsertEventListener, org.hibernate.valitator.event.ValidateEventListener |
pre-insert | org.hibernate.secure.JACCPreUpdateEventListener, org.hibernate.valitator.event.ValidateEventListener |
pre-delete | org.hibernate.secure.JACCPreDeleteEventListener |
pre-load | org.hibernate.secure.JACCPreLoadEventListener |
post-delete | org.hibernate.ejb.event.EJB3PostDeleteEventListener |
post-insert | org.hibernate.ejb.event.EJB3PostInsertEventListener |
post-load | org.hibernate.ejb.event.EJB3PostLoadEventListener |
post-update | org.hibernate.ejb.event.EJB3PostUpdateEventListener |
セキュリティが有効でない場合は、JACC*EventListeners が削除されることに注意してください。
イベントリスナーは、プロパティ (「構成とブートストラップ」 を参照) または
Ejb3Configuration.getEventListeners()
API を使用して設定できます。