## org.hibernate.classic
Interface Lifecycle

    public interface Lifecycle

Provides callbacks from the `Session` to the persistent object. Persistent classes may implement this interface but they are not required to.
onSave: called just before the object is saved
onUpdate: called just before an object is updated, ie. when `Session.update()` is called
onDelete: called just before an object is deleted
onLoad: called just after an object is loaded
`onLoad()` may be used to initialize transient properties of the object from its persistent state. It may not be used to load dependent objects since the `Session` interface may not be invoked from inside this method.
A further intended usage of `onLoad()`, `onSave()` and `onUpdate()` is to store a reference to the `Session` for later use.
If `onSave()`, `onUpdate()` or `onDelete()` return `VETO`, the operation is silently vetoed. If a `CallbackException` is thrown, the operation is vetoed and the exception is passed back to the application.
Note that `onSave()` is called after an identifier is assigned to the object, except when identity column key generation is used.

See Also:
  `CallbackException`

Field Summary
`static boolean` `NO_VETO` Return value to accept the action (false)
`static boolean` `VETO` Return value to veto the action (true)

Method Summary
`boolean` `onDelete(Session s)` Called when an entity is deleted.
`void` `onLoad(Session s, Serializable id)` Called after an entity is loaded.
`boolean` `onSave(Session s)` Called when an entity is saved.
`boolean` `onUpdate(Session s)` Called when an entity is passed to `Session.update()`.

Field Detail

### VETO

    static final boolean VETO

  Return value to veto the action (true)

  See Also:
    Constant Field Values

### NO_VETO

    static final boolean NO_VETO

  Return value to accept the action (false)

  See Also:
    Constant Field Values

Method Detail

### onSave

    boolean onSave(Session s)
                   throws CallbackException

  Called when an entity is saved.

  Parameters:
    `s` - the session
  Returns:
    true to veto save
  Throws:
    `CallbackException`

### onUpdate

    boolean onUpdate(Session s)
                     throws CallbackException

  Called when an entity is passed to `Session.update()`. This method is not called every time the object's state is persisted during a flush.

  Parameters:
    `s` - the session
  Returns:
    true to veto update
  Throws:
    `CallbackException`

### onDelete

    boolean onDelete(Session s)
                     throws CallbackException

  Called when an entity is deleted.

  Parameters:
    `s` - the session
  Returns:
    true to veto delete
  Throws:
    `CallbackException`

### onLoad

    void onLoad(Session s,
                Serializable id)

  Called after an entity is loaded. It is illegal to access the `Session` from inside this method. However, the object may keep a reference to the session for later use.

  Parameters:
    `s` - the session
    `id` - the identifier

Copyright © 2001-2012 Red Hat, Inc. All Rights Reserved.