martes, 13 de agosto de 2013

Como implementar una entidad

Para ejemplificar la implementación de una entidad se analizará un ejemplo con una clase de nombre libro, a la cual se le incluyen anotaciones del paquete javax.persistence Annotation Types.

  • Para ser reconocida como una entidad, la clase debe aparecer con la anotación @javax.persistence.Entity
  • La anotación @javax.persistence.Id permite determinar la clave primaria.
  • La anotación @javax.persistence.GeneratedValue permite generar valores automáticos para la primary key.
  •  La anotación @javax.persistence.Column permite personalizar la conversión de las columnas.

Con esto el proveedor de persistencia JPA realiza lo siguiente:
  • Asigna la Entity Libro a la tabla Libro.
  • Genera una clave primaria (id).
  • Sincroniza los valores de los atributos de la clase Libro en las columnas de la tabla Libro.

El resultado es el que se muestra a continuación

 

La ventaja de esto es que JPA permite consultar entidades y sus relaciones en un modo orientado a objetos sin tener que usar claves externas o las columnas de las bases de datos.
La interfaz que permite manejar las entidades es javax.persistence.EntityManager quien proporciona los métodos necesarios para acceder a la base de datos y llevar a cabo las distintas acciones. Además oculta la llamada JDBC a la BD y las declaraciones de tipo CRUD (Create, Read, Update and Delete), estas últimas se generan no mediante SQL sino mediante JPQL.

Un ejemplo de un JPQL es el que se muestra a continuación.


En la imagen anterior se muestra una consulta en amarillo que forma parte de uno de los parametros de la anotación @javax.persistence.NamedQuery la cual posteriormente debe ser ejecutada por el método EntityManager.createNamedQuery() quien finalmente es el que devuelve los datos que se buscan (esto no se meustra en el ejemplo).


No hay comentarios:

Publicar un comentario