Annotation Interface PostPersist
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.
The @PostPersist callback for an entity which has been
made persistent occurs after the entity has been marked as managed
and associated with the persistence context, and after the database
insert operations have been executed. Note that the database insert
operations might occur immediately during execution of
persist() or
merge(), or they might occur later when
the persistence context is flushed.
Any generated primary key value is available when this callback occurs.
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