Concepto
- Para iniciar JPA, se requiere el paquete javax.persistence y todos sus "imports" (javax.persistence.*)
- Persistence. La clase Persistence contiene métodos estáticos para obtener una instancia de EntityManagerFactory.
- EntityManagerFactory. Nos ayuda a crear objetos de EntityManager utilizando el patrón de diseño Factory.
- EntityManager. Es la interfaz principal de JPA; utilizada para la persistencia de las aplicaciones. Esta clase es la encargada de gestionar las entidades, es decir los objetos persistentes, a través de operaciones CRUD (create, read, update y delete).
- Normalmente, una entidad es una tabla.
- Cada instancia que creamos del gestor se asocia a un contexto de persistencia diferente.
- Entity. Es una anotación Java que se coloca a nivel de las clases Java serializables y que cada objeto (instancia) de una de estas clases anotadas representa un registro de una base de datos.
- EntityTransaction. Permite operaciones sobre datos persistentes de manera que agrupados formen una unidad de trabajo transaccional, en el que todo el grupo sincroniza su estado de persistencia en la base de datos o todos fallan en el intento. En caso de fallo, la base quedará en su estado original.
- Query. Gestiona las consultas. Estandariza las consultas mediante el lenguaje JPQL y SQL. Se puede obtener una instancia de Query a partir de un Entity Manager.
- Criteria API. Es un metamodelo de Java para la creación de JPQL. Facilita la comprobación y la generalización
Operaciones soportadas
A través del EntityManager se pueden realizar las siguientes operaciones.
OPERACIÓN | DESCRIPCIÓN | CORRESPONDENCIA CON CRUD SQL |
Persist |
|
INSERT |
Find |
|
SELECT * FROM A WHERE A.id = ? |
Remove |
|
DELETE |
Merge |
|
UPDATE |
Refresh |
|
SELECT (para actualización de objeto) |
Flush |
|
UPDATE, INSERT (para sincronización con la BDD) |