Entity Listeners
Entity listeners are classes that can generically intercept entity callback
events. They are not entity classes themselves, but they can be attached
to an entity class through a binding annotation or XML. You can assign
methods on an entity listener class to intercept a particular lifecycle
event. These methods return void
and
take one Object
parameter that is the
entity instance on which the event is being triggered. The method is
annotated with the callback in which it is interested:
public class Auditor { @PostPersist void postInsert(final Object entity) { System.out.println("Inserted entity: " + entity.getClass().getName( )); } @PostLoad void postLoad(final Object entity) { System.out.println("Loaded entity: " + entity.getClass().getName( )); } }
The entity listener class must have a public no-arg constructor. It
can be applied to an entity class by using the @javax.persistence.EntityListeners
annotation:
package javax.persistence;
@Target(TYPE) @Retention(RUNTIME)
public @interface EntityListeners
{
Class[] value();
}
You may specify one or more entity listeners that intercept the callback events of an entity class:
@Entity @EntityListeners ({Auditor.class}) public class EntityListenerEmployee { ... }
By using the @EntityListeners
annotation on the EntityListenerEmployee
entity class, any
callback methods within those entity listener classes will be invoked
whenever EntityListenerEmployee
entity
instances interact with a persistence context.
Default Entity Listeners ...
Get Enterprise JavaBeans 3.1, 6th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.