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