Entity Beans always have states which can be persisted and stored across multiple invocations. Multiple EJB Clients may however share an Entity Bean. The lifetime of an Entity Bean is not limited by the lifetime of the virtual machine within which it executes. A crash of the virtual machine may result in a rollback of the current transaction, but will neither destroy the Entity Bean nor invalidate the references that other clients have to this Entity Bean. Moreover, a client can later connect to the same Entity Bean using its object reference since it encapsulates a unique primary key allowing the EJB Bean or its container to reload its state.
Entity beans can thus survive system shutdowns.
Persistence in Entity Beans is of two types. Since it is container-managed, the implementation is independent of the data source. However, all container-managed fields need to be specified in the Deployment Descriptor for the persistence to be automatically handled by the container. Consequently, this implementation is less adaptable than the previous one as the persistence needs to be hard-coded into the Bean. They can participate in transactions.