Implementación de JPA mediante EclipseLink
1.- Descarga de Librerías
La implementación de JPA mediante EclipseLink requiere descargar las librerías de EclipseLink, las librerías que nos permitirán realizar la persistencia. Tenemos tres formas de obtener las librerías:
- Sitio oficial: Descargar los jars javax.persistence_...*.jar y eclipselink.jar del sitio: http://www.eclipse.org/eclipselink/
- Sitio de descargas: Descarga las librerías de la página Web "Librerías de Desorrollo", apartado "Persistencia"
- Mediante MAVEN: Agrega las siguientes dependencias al pom.xml:
<!-- Conector a la BDD -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
<!-- La api de JPA -->
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>javax.persistence-api</artifactId>
<version>2.2</version>
</dependency>
<!-- La implementación de EclipseLink -->
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>eclipselink</artifactId>
<version>2.5.2</version>
</dependency>
2.- Configura el Proyecto Dynamic Web Project para que soporte JPA
-
- Configurar el proyecto con JPA (Proyecto->Properties->Project Facets->checkbox: JPA)
- Configuration: se puede configurar las opciones del proyecto, en nuestro caso, no es necesario
- JPA Implementation. Se configura la implementación. Se puede realizar ahora, o crear después una carpeta “/lib”con los jars y registrarlos
- Connection. Se configura la conexión con la BD. Se añade una conexión de typo MySQL y se configuran la URL, usuario yla clave, tambien se puede realizar posteriormente, en el fichero de persistence.xml. No olvidar el conector (jar)
- Configurar el proyecto con JPA (Proyecto->Properties->Project Facets->checkbox: JPA)
Video ejemplo de creación de proyecto JPA.
3.- Genera el fichero Persistence.xml
El fichero persistence.xml (fichero de configuración del contexto de persistencia) debe tener el siguiente contenido, independiente del proceso asistido por Eclipse o copia directa del contenido
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.2"
xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd">
<persistence-unit name="jpaPersona" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/personasjpa"/>
<property name="javax.persistence.jdbc.user" value="root"/>
<property name="javax.persistence.jdbc.password" value="root"/>
<property name="javax.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver"/>
<!-- property name="eclipselink.ddl-generation" value="create-tables" /-->
<!-- property name="eclipselink.ddl-generation" value="drop-and-create-tables" /-->
<property name="eclipselink.ddl-generation" value="none" />
</properties>
</persistence-unit>
</persistence>
- Línea 3, el atributo
name
indica el nombre de la unidad de persistencia. En este caso, el autor ha puesto el nombre "3_jpa_tutorias". Tú puedes poner el nombre que desees que se llame tu unidad de persistencia Líneas 5 a 8 indican los datos de la conexión a la BDD. Línea 9 indica el tipo de generación de la BDD al ejecutarse la implementación de JPA. Existen tres valores posibles: - “none”.- No se generará ninguna estructura en la BDD; se respeta la estructura actual de la BDD.
- “create-tables”.- Se crean las tablas en la BDD
- "drop-and-create-tables".- Se eliminan las tablas existentes y se genera la estructura de la BDD desde cero.
4.- Crea la BDD
En la línea 10 del fichero persistence.xml, se indica que la persistencia se realizará a la base de datos mysql "personasjpa". Por lo tanto, crea una base de datos con el nombre personasjpa (solo la base de datos, sin tablas).