Ahora vamos a utilizar un wizard de NetBeans, para proceder al primer paso en la construcción de nuestra capa de persistencia.
5 - Creación de la capa de persistencia
.Las acciones a realizar para implementar la persistencia con JPA son las siguientes:- La creación del fichero persistence.xml en la carpeta META-INF, conteniendo los datos de la conexión y los models java a conectar.
- Creación de los entities java, réplicas de las tablas de nuestra database, lo cual permitirá conectar la capa de datos con la capa de persistencia.
Posicionándose en el proyecto, pulsamos en "New" --> Other --> Persistence --> PersistenceUnit y pulsamos en "Next"...
Elegiremos la librería de Hibernate para implementar JPA. Y en Database connection, seleccionaremos la base de datos correspondiente a nuestro ejemplo, la cual ya habíamos implementado con anterioridad.
Pulsamos en Finish. El Wizard fabricará el fichero persistence.xml en la carpeta META-INF.
Y este es el contenido del fichero persistence generado:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.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_2_0.xsd">
<persistence-unit name="ejemploJSF" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/ejemploJSF?zeroDateTimeBehavior=convertToNull"/>
<property name="hibernate.connection.password" value="YOUR PASSWORD"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.username" value="YOUR USERNAME"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
</properties>
</persistence-unit>
</persistence>
En este fichero habrá que incluir los entities a manejar, los cuales vamos a generar a continuación. Emplearemos el wizard de NetBeans que permite generar los entities automáticamente:
New --> Persistence --> Entity classes from database --> Next
Se abre una nueva pantalla, y ahora hay que elegir la dataBase...
Al elegir la database, aparecen las tablas que pueden ser convertidas. Pulsamos en "add All" y "Next".
En la siguiente pantalla podremos elegir el package y ponemos el package Models de nuestro proyecto; pulsamos en "Next".
En la siguiente pantalla pulsamos en "Finish", y NetBeans comenzará a generar los entities (en nuestro caso solo un entity) de acuerdo con las tablas de la database; generará las anotaciones correspondientes, y los getters/setters. Adicionalmente NetBeans creará varias NamedQueries.
Este es el contenido del fichero Usuarios.java:
@Entity
@Table(name = "Usuarios")
public class Usuarios implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id")
private Long id;
@Basic(optional = false)
@Column(name = "nombre")
private String nombre;
@Basic(optional = false)
@Column(name = "login")
private String login;
@Basic(optional = false)
@Column(name = "password")
private String password;
@Basic(optional = false)
@Column(name = "email")
private String email;
@Basic(optional = false)
@Column(name = "sector")
private String sector;
@Basic(optional = false)
@Column(name = "profesion")
private String profesion;
@Basic(optional = false)
@Column(name = "antiguedad")
private int antiguedad;
public Usuarios() {
}
// constructor para altas
public Usuarios( String nombre, String login, String password, String email, String sector, String profesion, int antiguedad) {
this.nombre = nombre;
this.login = login;
this.password = password;
this.email = email;
this.sector = sector;
this.profesion = profesion;
this.antiguedad = antiguedad;
}
// constructor para modificacion
public Usuarios(Long id, String nombre, String login, String password, String email, String sector, String profesion, int antiguedad) {
this.id = id;
this.nombre = nombre;
this.login = login;
this.password = password;
this.email = email;
this.sector = sector;
this.profesion = profesion;
this.antiguedad = antiguedad;
}
// GETTERS Y SETTERS () NO INCLUIDOS POR BREVEDAD DEL POST, PERO NECESARIOS EN EL CODIGO
Si todo ha funcionado, Netbeans habrá incluido la clase Usuarios.java dentro del fichero persistence.xml. Conviene verificarlo, y si por algún motivo no está la clase declarada, habrá que incluir lo siguiente dentro de la Persistence-unit del fichero persistence.xml:
<class>models.Usuarios</class>,
Con esto, ya estaría configurada la capa de persistencia de nuestra aplicacion ejemploJSF.
Anterior tema Siguiente tema

No hay comentarios:
Publicar un comentario