2.3. Event listeners
Hibernate Entity Manager needs to enhance Hibernate core to implements all the EJB3 semantics. It does that through the event listener system of Hibernate. Be careful when you use the event system yourself, you might override some of the EJB3 semantics. A safe way is to add your event listeners to the list given below.
Event | Listeners |
---|---|
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 |
Note that the JACC*EventListeners are removed if the security is not enabled.
You can configure the event listeners either through the properties (see Section 2.2, “Configuration and bootstrapping”) or through the
Ejb3Configuration.getEventListeners()
API.