Ejemplos de escucha de entidad

Puede escribir EntityListeners según sus necesidades. A continuación se ofrecen varios scripts de ejemplo.

Ejemplo de EntityListeners utilizando anotaciones

El siguiente ejemplo muestra las invocaciones al método de devolución de llamada de ciclo de vida y el orden de las invocaciones. Suponga que existe una clase de entidad Employee y dos escuchas de entidad: EmployeeListener y EmployeeListener2.
@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) {
        .... 
    }
}
Si se produce un suceso PrePersist en una instancia Employee, se invocan los siguientes métodos en orden:
  1. Método onEmployeePrePersist
  2. Método onPersonPrePersist
  3. Método onEmployeePrePersist2
  4. Método checkEmployeeID

Ejemplos de escuchas de entidad utilizando XML

En el siguiente ejemplo se muestra cómo establecer un escucha de entidad en una entidad utilizando el archivo XML de descriptor de entidad:
<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.