Ciclos de vida de los objetos

Los beans enterprise del modelo de objeto incluyen objetos independent y dependent. Un objeto independiente tiene su propio ciclo de vida, controlado directamente por las peticiones de creación o eliminación de la lógica de negocio que invoca al objeto. Un objeto dependiente tiene un ciclo de vida vinculado a otro objeto, denominado owner object (que, a su vez, puede ser también un objeto dependiente, aunque si se sigue la jerarquía de asociaciones se encontrará un objeto independiente). Cuando se suprime el objeto propietario, todos los objetos dependientes se suprimen también. Las supresiones reales se controlan mediante especificaciones de supresión en cascada en la base de datos.

Por ejemplo, supongamos que un objeto usuario devuelve un objeto libreta de direcciones y una lista de objetos pedido; si se suprime el objeto usuario, se eliminará también su objeto libreta de direcciones (puesto que es propiedad del usuario), así como todos los objetos dirección de la libreta de direcciones (puesto que son propiedad de la libreta de direcciones). Sin embargo, los objetos pedido no se eliminarán ya que el propietario de los pedidos es el objeto tienda, no el objeto usuario.

Para la creación de objetos dependientes se utiliza un patrón de diseño específico. El método de creación de un objeto dependiente debe suministrar una referencia a su objeto propietario; por lo tanto, el objeto propietario ya debe existir para poder crear el objeto dependiente.