Annotation Interface PreRemove
Declares a callback method for the corresponding lifecycle event.
This annotation may be applied to methods of an entity class, a
mapped superclass, or a callback listener class.
A @PreRemove callback occurs before the entity being
removed is marked as removed in the persistence context. The
@PreRemove method is always invoked synchronously during
execution of the remove() operation.
The following rules apply to lifecycle callback methods:
- Lifecycle callback methods may throw unchecked/runtime exceptions. A runtime exception thrown by a callback method that executes within a transaction causes that transaction to be marked for rollback if context is joined to the transaction.
- Lifecycle callbacks can invoke JNDI, JDBC, JMS, and enterprise beans.
- A lifecycle callback method may modify the non-relationship state of the entity on which it is invoked.
- In general, the lifecycle method of a portable application should not
invoke
EntityManageror query operations, access other entity instances, or modify relationships within the same persistence context
It is implementation-dependent whether callback methods are invoked before or after the cascading of the lifecycle events to related entities.
- Since:
- 1.0