Veamos como implementar la persistencia en un proyecto de Eclipse con el estándar JPA implementado por EclipseLink.
Nos basaremos en el proyecto de Eclipse creado en el artículo anterior. En las propiedades (botón derecho) del proyecto añadimos el “poder” de manejar Entidades JPA, añadiendo el Facet:
Utilizaremos EclipseLink 1.1.2 ya que es la implementación de JPA por defecto en WebLogic 11g.
Generar Entidades desde las tablas
Sobre el proyecto en el menu contextual (botón derecho), JPA > Generate Entities from Tables… Elegimos la conexión SCHOOL creada anteriormente, y las tablas REGISTRY y SCHOOLCERTIFICATES. Generando las entidades en el paquete lebrijo.school.model:
Para mantener la coherencia de JPA debemos añadir un Identificador a todas las clases, Registry lo tiene, pero a SchoolCertificates hay que añadírselo:
Es muy interesante observar el fichero src/META-INF/persistence.xml, como se configura la conexión y se mapean las entidades.
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> <persistence-unit name="school" transaction-type="RESOURCE_LOCAL"> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> <class>lebrijo.school.model.Registry</class> <class>lebrijo.school.model.Schoolcertificate</class> <properties> <property name="eclipselink.target-server" value="WebLogic_10"/> <property name="eclipselink.jdbc.driver" value="oracle.jdbc.OracleDriver"/> <property name="eclipselink.jdbc.url" value="jdbc:oracle:thin:@192.168.0.7:1521:xe"/> <property name="eclipselink.jdbc.user" value="school"/> <property name="eclipselink.jdbc.password" value="school"/> <property name="eclipselink.logging.level" value="FINEST"/> </properties> </persistence-unit> </persistence> |
Aquí os dejo el zip del proyecto eclipse tras estas modificaciones.