Annotation Interface PostInsert


@Target(METHOD) @Retention(RUNTIME) public @interface PostInsert
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 PostInsert callback occurs after a database insert operation when an entity is inserted via an EntityManager or EntityAgent. When such a modification is made via an EntityManager, the database operation might occur at the time the entity state is modified, or it might occur later when modifications are flushed to the database. The PostInsert callback is not triggered when entity data is inserted by execution of a Query.

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 EntityManager or 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:
4.0