Sie können Entitäts-Listener nach Ihren Anforderungen schreiben. Es folgen mehrere Beispielscripts.
@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>
Die Entität "Employee" ist mit einer Entitäts-Listener-Klasse com.ibm.websphere.objectgrid.sample.EmployeeListener
definiert, in der zwei Callback-Methoden für den Lebenszyklus definiert sind.
Die Methode onListenerPrePersist ist für das Ereignis "PrePersist" bestimmt und die Methode
onListenerPostPersist für das Ereignis "PostPersist".
Außerdem ist die Methode checkEmployeeID in der Klasse "Employee" definiert, die
auf das Ereignis "PrePersist" wartet.