Bienvenida

Como todo en la vida, la innovación es la clave del éxito por lo que nos hemos visto en la necesidad de "evolucionar" este blog para abarcar muchos otros temas que estaban quedando de lado en nuestros cursos "oficiales".

Si deseas aprender o profundizar algunos temas en particular, no dudes en contactarnos.


martes, 17 de mayo de 2011

Introducción a JPA ( parte III )

Finalmente, hablaremos del ciclo de vida de una entidad como se aprecia en el gráfico siguiente:


Lo más saltante es que no podemos efectuar operaciones con la entidad si es que primero no la colocamos en estado "managed", es decir, si primero el Entity Manager no la tiene reconocida (o cargada ).

Por otro lado, cada evento que sucede en el Entity Manager ( las operaciones básicas sobre la entidad) generan o disparan una serie de acciones que se conocen como los "Callbacks" o Listeners.


Las anotaciones que proporciona JPA para manejar los “Callbacks” son:

  • @PostLoad : Se ejecuta luego de un “refresh” a la entidad.
  • @PrePersist: Se ejecuta antes de insertar la entidad.
  • @PostPersist: Se ejecuta después de haber insertado la entidad.
  • @PreUpdate: Se ejecuta antes de un update a la entidad.
  • @PostUpdate: Se ejecuta después de un update a la entidad.
  • @PreRemove: Se ejecuta antes de eliminar la entidad en la base de datos.
  • @PostRemove: Se ejecuta después de haber eliminado a la entidad.

Dichas anotaciones las podemos colocar dentro de métodos de la misma entidad, en cuyo caso el método no recibe como parámetro a la entidad en sí.
O tambien, apuntar a otra clase que sea la que contenga a los métodos, en cuyo caso, los método reciben como parámetro a la entidad. Para ello hay que usar la anotación @EntityListener en la entidad para apuntar a la clase externa.

Revisa el manual ( o este PDF ) para ver los ejemplos ( pág 57 ...creo ).
 
Deja tus comentarios

No hay comentarios:

Publicar un comentario