|
|||||||||
| Home >> All >> org >> [ hibernate overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
org.hibernate
Interface Interceptor

- All Known Implementing Classes:
- EmptyInterceptor
- public interface Interceptor
Allows user code to inspect and/or change property values.
Inspection occurs before property values are written and after they are read
from the database.
There might be a single instance of Interceptor for a SessionFactory, or a new instance
might be specified for each Session. Whichever approach is used, the interceptor must be
serializable if the Session is to be serializable. This means that SessionFactory-scoped
interceptors should implement readResolve().
The Session may not be invoked from a callback (nor may a callback cause a collection or proxy to
be lazily initialized).
Instead of implementing this interface directly, it is usually better to extend EmptyInterceptor
and override only the callback methods of interest.
| Method Summary | |
void |
afterTransactionBegin(Transaction tx)
Called when a Hibernate transaction is begun via the Hibernate Transaction API. |
void |
afterTransactionCompletion(Transaction tx)
Called after a transaction is committed or rolled back. |
void |
beforeTransactionCompletion(Transaction tx)
Called before a transaction is committed (but not before rollback). |
int[] |
findDirty(java.lang.Object entity,
java.io.Serializable id,
java.lang.Object[] currentState,
java.lang.Object[] previousState,
java.lang.String[] propertyNames,
org.hibernate.type.Type[] types)
Called from flush(). |
java.lang.Object |
getEntity(java.lang.String entityName,
java.io.Serializable id)
Get a fully loaded entity instance that is cached externally |
java.lang.String |
getEntityName(java.lang.Object object)
Get the entity name for a persistent or transient instance |
java.lang.Object |
instantiate(java.lang.String entityName,
EntityMode entityMode,
java.io.Serializable id)
Instantiate the entity class. |
java.lang.Boolean |
isTransient(java.lang.Object entity)
Called to distinguish between transient and detached entities. |
void |
onCollectionRecreate(java.lang.Object collection,
java.io.Serializable key)
Called before a collection is (re)created. |
void |
onCollectionRemove(java.lang.Object collection,
java.io.Serializable key)
Called before a collection is deleted. |
void |
onCollectionUpdate(java.lang.Object collection,
java.io.Serializable key)
Called before a collection is updated. |
void |
onDelete(java.lang.Object entity,
java.io.Serializable id,
java.lang.Object[] state,
java.lang.String[] propertyNames,
org.hibernate.type.Type[] types)
Called before an object is deleted. |
boolean |
onFlushDirty(java.lang.Object entity,
java.io.Serializable id,
java.lang.Object[] currentState,
java.lang.Object[] previousState,
java.lang.String[] propertyNames,
org.hibernate.type.Type[] types)
Called when an object is detected to be dirty, during a flush. |
boolean |
onLoad(java.lang.Object entity,
java.io.Serializable id,
java.lang.Object[] state,
java.lang.String[] propertyNames,
org.hibernate.type.Type[] types)
Called just before an object is initialized. |
java.lang.String |
onPrepareStatement(java.lang.String sql)
Called when sql string is being prepared. |
boolean |
onSave(java.lang.Object entity,
java.io.Serializable id,
java.lang.Object[] state,
java.lang.String[] propertyNames,
org.hibernate.type.Type[] types)
Called before an object is saved. |
void |
postFlush(java.util.Iterator entities)
Called after a flush that actually ends in execution of the SQL statements required to synchronize in-memory state with the database. |
void |
preFlush(java.util.Iterator entities)
Called before a flush |
| Method Detail |
onLoad
public boolean onLoad(java.lang.Object entity, java.io.Serializable id, java.lang.Object[] state, java.lang.String[] propertyNames, org.hibernate.type.Type[] types) throws CallbackException
- Called just before an object is initialized. The interceptor may change the state, which will
be propagated to the persistent object. Note that when this method is called, entity will be
an empty uninitialized instance of the class.
onFlushDirty
public boolean onFlushDirty(java.lang.Object entity, java.io.Serializable id, java.lang.Object[] currentState, java.lang.Object[] previousState, java.lang.String[] propertyNames, org.hibernate.type.Type[] types) throws CallbackException
- Called when an object is detected to be dirty, during a flush. The interceptor may modify the detected
currentState, which will be propagated to both the database and the persistent object.
Note that not all flushes end in actual synchronization with the database, in which case the
new currentState will be propagated to the object, but not necessarily (immediately) to
the database. It is strongly recommended that the interceptor not modify the previousState.
onSave
public boolean onSave(java.lang.Object entity, java.io.Serializable id, java.lang.Object[] state, java.lang.String[] propertyNames, org.hibernate.type.Type[] types) throws CallbackException
- Called before an object is saved. The interceptor may modify the state, which will be used for
the SQL INSERT and propagated to the persistent object.
onDelete
public void onDelete(java.lang.Object entity, java.io.Serializable id, java.lang.Object[] state, java.lang.String[] propertyNames, org.hibernate.type.Type[] types) throws CallbackException
- Called before an object is deleted. It is not recommended that the interceptor modify the state.
onCollectionRecreate
public void onCollectionRecreate(java.lang.Object collection, java.io.Serializable key) throws CallbackException
- Called before a collection is (re)created.
onCollectionRemove
public void onCollectionRemove(java.lang.Object collection, java.io.Serializable key) throws CallbackException
- Called before a collection is deleted.
onCollectionUpdate
public void onCollectionUpdate(java.lang.Object collection, java.io.Serializable key) throws CallbackException
- Called before a collection is updated.
preFlush
public void preFlush(java.util.Iterator entities) throws CallbackException
- Called before a flush
postFlush
public void postFlush(java.util.Iterator entities) throws CallbackException
- Called after a flush that actually ends in execution of the SQL statements required to synchronize
in-memory state with the database.
isTransient
public java.lang.Boolean isTransient(java.lang.Object entity)
- Called to distinguish between transient and detached entities. The return value determines the
state of the entity with respect to the current session.
- Boolean.TRUE - the entity is transient
- Boolean.FALSE - the entity is detached
- null - Hibernate uses the unsaved-value mapping and other heuristics to determine if the object is unsaved
findDirty
public int[] findDirty(java.lang.Object entity, java.io.Serializable id, java.lang.Object[] currentState, java.lang.Object[] previousState, java.lang.String[] propertyNames, org.hibernate.type.Type[] types)
- Called from flush(). The return value determines whether the entity is updated
- an array of property indices - the entity is dirty
- an empty array - the entity is not dirty
- null - use Hibernate's default dirty-checking algorithm
instantiate
public java.lang.Object instantiate(java.lang.String entityName, EntityMode entityMode, java.io.Serializable id) throws CallbackException
- Instantiate the entity class. Return null to indicate that Hibernate should use
the default constructor of the class. The identifier property of the returned instance
should be initialized with the given identifier.
getEntityName
public java.lang.String getEntityName(java.lang.Object object) throws CallbackException
- Get the entity name for a persistent or transient instance
getEntity
public java.lang.Object getEntity(java.lang.String entityName, java.io.Serializable id) throws CallbackException
- Get a fully loaded entity instance that is cached externally
afterTransactionBegin
public void afterTransactionBegin(Transaction tx)
- Called when a Hibernate transaction is begun via the Hibernate Transaction
API. Will not be called if transactions are being controlled via some other
mechanism (CMT, for example).
beforeTransactionCompletion
public void beforeTransactionCompletion(Transaction tx)
- Called before a transaction is committed (but not before rollback).
afterTransactionCompletion
public void afterTransactionCompletion(Transaction tx)
- Called after a transaction is committed or rolled back.
onPrepareStatement
public java.lang.String onPrepareStatement(java.lang.String sql)
- Called when sql string is being prepared.
|
|||||||||
| Home >> All >> org >> [ hibernate overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC