javax.ejb

## Interface EntityBean

- All Superinterfaces:
    EnterpriseBean, Serializable

      public interface EntityBean
      extends EnterpriseBean

  The EntityBean interface is implemented by every entity bean class. The container uses the EntityBean methods to notify the entity bean instances of the instance's life cycle events.

  Applications written to the EJB 3.0 and later APIs should use the facilities of the Java Persistence API (`javax.persistence`) to model persistent entities.

  Note: Support for entity beans is optional as of EJB 3.2.

  Since:
    EJB 1.0

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `ejbActivate()` A container invokes this method when the instance is taken out of the pool of available instances to become associated with a specific EJB object.
    `void` | `ejbLoad()` A container invokes this method to instruct the instance to synchronize its state by loading it state from the underlying database.
    `void` | `ejbPassivate()` A container invokes this method on an instance before the instance becomes disassociated with a specific EJB object.
    `void` | `ejbRemove()` A container invokes this method before it removes the EJB object that is currently associated with the instance.
    `void` | `ejbStore()` A container invokes this method to instruct the instance to synchronize its state by storing it to the underlying database.
    `void` | `setEntityContext(EntityContext ctx)` Set the associated entity context.
    `void` | `unsetEntityContext()` Unset the associated entity context.

- - ### Method Detail

    - #### setEntityContext

          void setEntityContext(EntityContext ctx)
                                throws EJBException,
                                       RemoteException

      Set the associated entity context. The container invokes this method on an instance after the instance has been created.

      This method is called in an unspecified transaction context.

      Parameters:
        `ctx` - An EntityContext interface for the instance. The instance should store the reference to the context in an instance variable.
      Throws:
        `EJBException` - Thrown by the method to indicate a failure caused by a system-level error.
        `RemoteException` - This exception is defined in the method signature to provide backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception. Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException instead of this exception.

    - #### unsetEntityContext

          void unsetEntityContext()
                                  throws EJBException,
                                         RemoteException

      Unset the associated entity context. The container calls this method before removing the instance.

      This is the last method that the container invokes on the instance. The Java garbage collector will eventually invoke the finalize() method on the instance.

      This method is called in an unspecified transaction context.

      Throws:
        `EJBException` - Thrown by the method to indicate a failure caused by a system-level error.
        `RemoteException` - This exception is defined in the method signature to provide backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception. Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException instead of this exception.

    - #### ejbRemove

          void ejbRemove()
                         throws RemoveException,
                                EJBException,
                                RemoteException

      A container invokes this method before it removes the EJB object that is currently associated with the instance. This method is invoked when a client invokes a remove operation on the entity bean's home interface or the EJB object's remote interface. This method transitions the instance from the ready state to the pool of available instances.

      This method is called in the transaction context of the remove operation.

      Throws:
        `RemoveException` - The enterprise Bean does not allow destruction of the object.
        `EJBException` - Thrown by the method to indicate a failure caused by a system-level error.
        `RemoteException` - This exception is defined in the method signature to provide backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception. Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException instead of this exception.

    - #### ejbActivate

          void ejbActivate()
                           throws EJBException,
                                  RemoteException

      A container invokes this method when the instance is taken out of the pool of available instances to become associated with a specific EJB object. This method transitions the instance to the ready state.

      This method executes in an unspecified transaction context.

      Throws:
        `EJBException` - Thrown by the method to indicate a failure caused by a system-level error.
        `RemoteException` - This exception is defined in the method signature to provide backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception. Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException instead of this exception.

    - #### ejbPassivate

          void ejbPassivate()
                            throws EJBException,
                                   RemoteException

      A container invokes this method on an instance before the instance becomes disassociated with a specific EJB object. After this method completes, the container will place the instance into the pool of available instances.

      This method executes in an unspecified transaction context.

      Throws:
        `EJBException` - Thrown by the method to indicate a failure caused by a system-level error.
        `RemoteException` - This exception is defined in the method signature to provide backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception. Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException instead of this exception.

    - #### ejbLoad

          void ejbLoad()
                       throws EJBException,
                              RemoteException

      A container invokes this method to instruct the instance to synchronize its state by loading it state from the underlying database.

      This method always executes in the transaction context determined by the value of the transaction attribute in the deployment descriptor.

      Throws:
        `EJBException` - Thrown by the method to indicate a failure caused by a system-level error.
        `RemoteException` - This exception is defined in the method signature to provide backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception. Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException instead of this exception.

    - #### ejbStore

          void ejbStore()
                        throws EJBException,
                               RemoteException

      A container invokes this method to instruct the instance to synchronize its state by storing it to the underlying database.

      This method always executes in the transaction context determined by the value of the transaction attribute in the deployment descriptor.

      Throws:
        `EJBException` - Thrown by the method to indicate a failure caused by a system-level error.
        `RemoteException` - This exception is defined in the method signature to provide backward compatibility for enterprise beans written for the EJB 1.0 specification. Enterprise beans written for the EJB 1.1 specification should throw the javax.ejb.EJBException instead of this exception. Enterprise beans written for the EJB2.0 and higher specifications must throw the javax.ejb.EJBException instead of this exception.

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.