Puede escribir EntityListeners según sus necesidades. A continuación se ofrecen varios scripts de ejemplo.
@Entity
@EntityListeners({EmployeeListener.class, EmployeeListener2.class})
public class Employee {
@PrePersist
public void checkEmployeeID() {
....
}
}
public class EmployeeListener {
@PrePersist
public void onEmployeePrePersist(Employee e) {
....
}
}
public class PersonListener {
@PrePersist
public void onPersonPrePersist(Object person) {
....
}
}
public class EmployeeListener2 extends PersonListener {
@PrePersist
public void onEmployeePrePersist2(Object employee) {
....
}
}
<entity
class-name="com.ibm.websphere.objectgrid.sample.Employee"
name="Employee" access="FIELD">
<attributes>
<id name="id" />
<basic name="value" />
</attributes>
<entity-listeners>
<entity-listener
class-name="com.ibm.websphere.objectgrid.sample.EmployeeListener">
<pre-persist method-name="onListenerPrePersist" />
<post-persist method-name="onListenerPostPersist" />
</entity-listener>
</entity-listeners>
<pre-persist method-name="checkEmployeeID" />
</entity>
La entidad Employee se configura con una clase de escucha de entidad com.ibm.websphere.objectgrid.sample.EmployeeListener, que tiene definidos dos métodos de devolución de llamada de ciclo de vida. El método onListenerPrePersist es para el suceso PrePersist y el métodoonListenerPostPersist es para el suceso PostPersist. Además, el método checkEmployeeID en la clase Employee se configura para escuchar el suceso PrePersist.