SlideShare una empresa de Scribd logo
1 de 28
Ronald Cuello
Prerrequisitos Para realizar este ejemplo sencillo ,voy a utilizar el IDE Netbeans versión 6.8 por que es la versión que tengo instalada en mi maquina, aunque también pueden realizar esta configuración en versiones 6.0 hacia arriba. Y como motor de base de datos ,MySQL Listo empecemos a configurar JPA!!!
 
Creación Base de datos Para nuestro ejemplo, se necesita crear una base de datos de prueba, y una tabla llamada  PERSONAS.
Código SQL para crear la tabla DROP TABLE IF EXISTS  `pruebas`.`personas` ; CREATE TABLE  `pruebas`.`personas` (  `id` int(11)  NOT NULL AUTO_INCREMENT ,  `nombres` varchar(255)  NOT NULL ,  `apellidos` varchar(255)  NOT NULL ,  `salario` double  NOT NULL ,  `edad` int(11 ) NOT NULL ,  PRIMARY KEY  (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;
 
Creando el Proyecto Seleccionamos como plantilla  “Java Application”  para realizar nuestra consola de pruebas Le agregamos un nombre a nuestro proyecto,en este caso sera “ PersistenciaApp”  y le damos finish. Archivos generados por el IDE. Nada raro aun
Creando y configurando unidad de persistencia
Configurando Persistence Unit Para iniciar la configuración de JPA en nuestro proyecto lo primero que debemos hacer es crear el archivo persistence.xml ,para hacer esto miremos como se hace : Click derecho sobre el proyecto, New -> Other ->persistence->Persistence Unit
Configurando Persistence unit Seleccionamos el nombre a nuestra unidad de persistencia y también en este apartado indicamos con que ORM vamos a trabajar,Hibernate para nuestro ejemplo. Configuramos nuestra conexión a nuestra base de datos
Configurando cadena de conexión Establecemos todos los parámetros de conexión a nuestra base de datos. Cuando este todo configurado le damos FINISH
Configurando Persistence Unit Luego de configurar la unidad de persistencia a través de Netbeans, nos agregara en las librerías todo lo necesario para usar JPA con Hibernate,ademas crea la Carpeta META-INF y le anexa el archivo de configuración persistence.xml.
Creando una entidad persistente
Creando una entidad persistente (Previamente he creado un paquete llamado  com.model  para agrupar mis clases de negocio.) Para crear una entidad persistente lo vamos hacer de una tabla ya creada, en este caso ,la tabla Persona, para esto hacemos lo siguiente : Click derecho sobre el paquete com.model,luego New -> Other ->persistence-> EntityClasses from Database
Creando una entidad persistente Seleccionamos nuestra cadena de conexión creada previamente . Son todas las tablas que nos arroja la conexión Serán las tablas que se convertirán en clases persistentes. En este caso vamos a convertir la tabla  Personas  a una clase persistente llamada  Persona  con sus anotaciones.
Creando una entidad persistente Especificamos el nombre de nuestra entidad y su localización Configuramos las diferentes opciones de mapeo como por ejemplo el tipo de asociaciones, con que interfaz se manejaran las colecciones,etc.
Creando una entidad persistente El resultado de este proceso es una clase con una serie de atributos anotados y propiedades :
Creando un JPA Controller
Creando un JPA controller (Previamente he creado un paquete llamado  com.dao  para agrupar mi capa de acceso a datos .) Para crear un controlador debemos hacer lo siguiente : Click derecho sobre el paquete com.dao,luego New -> Other ->persistence-> Jpa controller classe from Entity classes
Creando un JPA controller Seleccionamos la entidad persistente a la que le vamos a crear su controlador de acceso a datos. Le damos siguiente y Listo.
Creando un JPA controller Luego de terminar de configurar nuestro controlador ,Netbeans nos genera un paquete nuevo llamado com.dao.exceptions ,que serán las excepciones que lanzara nuestro controlador en caso de que ocurra un error. (Métodos y atributos del controlador generado)
Agregar driver de conexión Para terminar de configurar el proyecto faltaría por agregar el jar de conexión a MYSQL
Veamos el resultado
En la vida real No se si han dado cuenta, pero cuando netbeans nos genera un controlador, este controlador en su constructor inicializa el motor de persistencia, es decir, sí creamos varias instancias de este controlador se inicializa varias veces el motor haciendo nuestra aplicación pesada y lenta. Para resolver esto lo podemos hacer de varias formas : usando Spring,aplicando patrón singleton en los controladores o centralizando el EntityManagerFactory en una clase de utilerías. Para este ejemplo usare una clase de utilería que me centralice el entityMangerFactory.
Creando clase de utileria
Código fuente package com.util; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; /** * * @author Ronald Cuello */ public class JpaUtil { private static final EntityManagerFactory emf; static{ try{ emf=Persistence.createEntityManagerFactory("PersistenciaAppPU"); }catch(Throwable t){ System.out.println("Error a inicializar el Entity Manager Factory "+t); t.printStackTrace(); throw new ExceptionInInitializerError(); } } public static EntityManagerFactory getEntityManagerFactory(){ return emf; } }
Modificando controlador Hacemos la corrección en el constructor por la clase que acabamos de crear Listo eso es todo amigos……
Nos vemos Agradecer no cuesta nada ;) Para mas información sobre JPA visita mi blog Ronaldcuello.blogspot.com

Más contenido relacionado

La actualidad más candente

Tutorial de persistencia en java con postgresql
Tutorial de persistencia en java con  postgresqlTutorial de persistencia en java con  postgresql
Tutorial de persistencia en java con postgresqlCarlos Anrango
 
Continuación 3 de la creación de reportes con jasper report
Continuación 3 de la creación de reportes con jasper reportContinuación 3 de la creación de reportes con jasper report
Continuación 3 de la creación de reportes con jasper reportjbersosa
 
Conectar java con una base de datos
Conectar java con una base de datosConectar java con una base de datos
Conectar java con una base de datosjbersosa
 
Tutorial de persistencia de java
Tutorial de persistencia de javaTutorial de persistencia de java
Tutorial de persistencia de javaCarlos Anrango
 
Conexión a postgres desde
Conexión a postgres desdeConexión a postgres desde
Conexión a postgres desdejbersosa
 
Tema 15 aplicaciones de dos capas por gio
Tema 15   aplicaciones de dos capas por gioTema 15   aplicaciones de dos capas por gio
Tema 15 aplicaciones de dos capas por gioRobert Wolf
 
Ejemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper reportEjemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper reportjbersosa
 
Bases de datos mysql y repotes usando jasper report
Bases de datos mysql y repotes usando jasper reportBases de datos mysql y repotes usando jasper report
Bases de datos mysql y repotes usando jasper reportjbersosa
 
Tutorial de jpa para windows usando net beans y mysql parte 1
Tutorial de jpa para windows usando net beans y mysql parte 1Tutorial de jpa para windows usando net beans y mysql parte 1
Tutorial de jpa para windows usando net beans y mysql parte 1Henry Mendoza Puerta
 
Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbcjbersosa
 
Clase n°2 3-4 java
Clase n°2 3-4 javaClase n°2 3-4 java
Clase n°2 3-4 javajbersosa
 
instalacion y conexion a base de datos postgrest /java
instalacion y conexion a base de datos postgrest /javainstalacion y conexion a base de datos postgrest /java
instalacion y conexion a base de datos postgrest /javaNey Rogger Miranda
 
Manual Swing-Java-PostgreSQL
Manual Swing-Java-PostgreSQLManual Swing-Java-PostgreSQL
Manual Swing-Java-PostgreSQLpablo
 
Tema 16 acceso a base de datos usando jpa por gio
Tema 16   acceso a base de datos usando jpa por gioTema 16   acceso a base de datos usando jpa por gio
Tema 16 acceso a base de datos usando jpa por gioRobert Wolf
 
Continuacion ejemplo de base de datos y reports con jasper report
Continuacion ejemplo de base de datos y reports con jasper reportContinuacion ejemplo de base de datos y reports con jasper report
Continuacion ejemplo de base de datos y reports con jasper reportjbersosa
 

La actualidad más candente (20)

Tutorial de persistencia en java con postgresql
Tutorial de persistencia en java con  postgresqlTutorial de persistencia en java con  postgresql
Tutorial de persistencia en java con postgresql
 
Continuación 3 de la creación de reportes con jasper report
Continuación 3 de la creación de reportes con jasper reportContinuación 3 de la creación de reportes con jasper report
Continuación 3 de la creación de reportes con jasper report
 
Persistencia jpa
Persistencia jpaPersistencia jpa
Persistencia jpa
 
Conectar java con una base de datos
Conectar java con una base de datosConectar java con una base de datos
Conectar java con una base de datos
 
Tutorial de persistencia de java
Tutorial de persistencia de javaTutorial de persistencia de java
Tutorial de persistencia de java
 
Conexión a postgres desde
Conexión a postgres desdeConexión a postgres desde
Conexión a postgres desde
 
Tema 15 aplicaciones de dos capas por gio
Tema 15   aplicaciones de dos capas por gioTema 15   aplicaciones de dos capas por gio
Tema 15 aplicaciones de dos capas por gio
 
Ejemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper reportEjemplo de base de datos y reports con jasper report
Ejemplo de base de datos y reports con jasper report
 
Bases de datos mysql y repotes usando jasper report
Bases de datos mysql y repotes usando jasper reportBases de datos mysql y repotes usando jasper report
Bases de datos mysql y repotes usando jasper report
 
Tema 6
Tema 6Tema 6
Tema 6
 
Statement
StatementStatement
Statement
 
Statement
StatementStatement
Statement
 
Tutorial de jpa para windows usando net beans y mysql parte 1
Tutorial de jpa para windows usando net beans y mysql parte 1Tutorial de jpa para windows usando net beans y mysql parte 1
Tutorial de jpa para windows usando net beans y mysql parte 1
 
Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbc
 
Clase n°2 3-4 java
Clase n°2 3-4 javaClase n°2 3-4 java
Clase n°2 3-4 java
 
instalacion y conexion a base de datos postgrest /java
instalacion y conexion a base de datos postgrest /javainstalacion y conexion a base de datos postgrest /java
instalacion y conexion a base de datos postgrest /java
 
Manual Swing-Java-PostgreSQL
Manual Swing-Java-PostgreSQLManual Swing-Java-PostgreSQL
Manual Swing-Java-PostgreSQL
 
Tema 16 acceso a base de datos usando jpa por gio
Tema 16   acceso a base de datos usando jpa por gioTema 16   acceso a base de datos usando jpa por gio
Tema 16 acceso a base de datos usando jpa por gio
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Continuacion ejemplo de base de datos y reports con jasper report
Continuacion ejemplo de base de datos y reports con jasper reportContinuacion ejemplo de base de datos y reports con jasper report
Continuacion ejemplo de base de datos y reports con jasper report
 

Similar a Configuración JPA Netbeans MySQL

Construccion a través de compontes
Construccion a través de compontesConstruccion a través de compontes
Construccion a través de compontesjalzate
 
Manual reportes jsp
Manual reportes jspManual reportes jsp
Manual reportes jspjujuju12
 
Entity Framework ó Linq SQL - Visual Studio 2012
Entity Framework  ó  Linq SQL - Visual Studio 2012Entity Framework  ó  Linq SQL - Visual Studio 2012
Entity Framework ó Linq SQL - Visual Studio 2012Naim Jhon Cruzado Paredes
 
Jsp servlet- Tutorial BD Conexión
Jsp servlet- Tutorial BD ConexiónJsp servlet- Tutorial BD Conexión
Jsp servlet- Tutorial BD ConexiónPattzy Montero
 
Tutorial programacion01
Tutorial programacion01Tutorial programacion01
Tutorial programacion01Jenny Zambrana
 
Ejercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docxEjercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docxssuser2e6b96
 
Instalacion de Pentaho 5 con PostgreSQL 9.3
Instalacion de Pentaho 5 con PostgreSQL 9.3Instalacion de Pentaho 5 con PostgreSQL 9.3
Instalacion de Pentaho 5 con PostgreSQL 9.3Ciencias
 
Instalación y Configuración de Pentaho BI y MySQL
Instalación y Configuración de Pentaho BI y MySQLInstalación y Configuración de Pentaho BI y MySQL
Instalación y Configuración de Pentaho BI y MySQLT.I.C
 
Notas clase
Notas claseNotas clase
Notas clase1 2d
 
Notas clase java ii
Notas clase java iiNotas clase java ii
Notas clase java ii1 2d
 
Notas clase
Notas claseNotas clase
Notas clase1 2d
 

Similar a Configuración JPA Netbeans MySQL (20)

JPA en NetBeans
JPA en NetBeansJPA en NetBeans
JPA en NetBeans
 
Trabajo de base de datos en sqlserver
Trabajo de base de datos en sqlserverTrabajo de base de datos en sqlserver
Trabajo de base de datos en sqlserver
 
Construccion a través de compontes
Construccion a través de compontesConstruccion a través de compontes
Construccion a través de compontes
 
Manual reportes jsp
Manual reportes jspManual reportes jsp
Manual reportes jsp
 
Reportes
ReportesReportes
Reportes
 
Conexión de Base de Datos
Conexión de Base de DatosConexión de Base de Datos
Conexión de Base de Datos
 
Entity Framework ó Linq SQL - Visual Studio 2012
Entity Framework  ó  Linq SQL - Visual Studio 2012Entity Framework  ó  Linq SQL - Visual Studio 2012
Entity Framework ó Linq SQL - Visual Studio 2012
 
Jsp servlet- Tutorial BD Conexión
Jsp servlet- Tutorial BD ConexiónJsp servlet- Tutorial BD Conexión
Jsp servlet- Tutorial BD Conexión
 
Java
JavaJava
Java
 
Tutorial programacion01
Tutorial programacion01Tutorial programacion01
Tutorial programacion01
 
IREPORT
IREPORTIREPORT
IREPORT
 
Practica 4
Practica 4Practica 4
Practica 4
 
Ejercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docxEjercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docx
 
Mysql java
Mysql javaMysql java
Mysql java
 
Instalacion de Pentaho 5 con PostgreSQL 9.3
Instalacion de Pentaho 5 con PostgreSQL 9.3Instalacion de Pentaho 5 con PostgreSQL 9.3
Instalacion de Pentaho 5 con PostgreSQL 9.3
 
Instalación y Configuración de Pentaho BI y MySQL
Instalación y Configuración de Pentaho BI y MySQLInstalación y Configuración de Pentaho BI y MySQL
Instalación y Configuración de Pentaho BI y MySQL
 
Configuracion del Entorno
Configuracion del EntornoConfiguracion del Entorno
Configuracion del Entorno
 
Notas clase
Notas claseNotas clase
Notas clase
 
Notas clase java ii
Notas clase java iiNotas clase java ii
Notas clase java ii
 
Notas clase
Notas claseNotas clase
Notas clase
 

Último

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 

Último (15)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 

Configuración JPA Netbeans MySQL

  • 2. Prerrequisitos Para realizar este ejemplo sencillo ,voy a utilizar el IDE Netbeans versión 6.8 por que es la versión que tengo instalada en mi maquina, aunque también pueden realizar esta configuración en versiones 6.0 hacia arriba. Y como motor de base de datos ,MySQL Listo empecemos a configurar JPA!!!
  • 3.  
  • 4. Creación Base de datos Para nuestro ejemplo, se necesita crear una base de datos de prueba, y una tabla llamada PERSONAS.
  • 5. Código SQL para crear la tabla DROP TABLE IF EXISTS `pruebas`.`personas` ; CREATE TABLE `pruebas`.`personas` ( `id` int(11) NOT NULL AUTO_INCREMENT , `nombres` varchar(255) NOT NULL , `apellidos` varchar(255) NOT NULL , `salario` double NOT NULL , `edad` int(11 ) NOT NULL , PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;
  • 6.  
  • 7. Creando el Proyecto Seleccionamos como plantilla “Java Application” para realizar nuestra consola de pruebas Le agregamos un nombre a nuestro proyecto,en este caso sera “ PersistenciaApp” y le damos finish. Archivos generados por el IDE. Nada raro aun
  • 8. Creando y configurando unidad de persistencia
  • 9. Configurando Persistence Unit Para iniciar la configuración de JPA en nuestro proyecto lo primero que debemos hacer es crear el archivo persistence.xml ,para hacer esto miremos como se hace : Click derecho sobre el proyecto, New -> Other ->persistence->Persistence Unit
  • 10. Configurando Persistence unit Seleccionamos el nombre a nuestra unidad de persistencia y también en este apartado indicamos con que ORM vamos a trabajar,Hibernate para nuestro ejemplo. Configuramos nuestra conexión a nuestra base de datos
  • 11. Configurando cadena de conexión Establecemos todos los parámetros de conexión a nuestra base de datos. Cuando este todo configurado le damos FINISH
  • 12. Configurando Persistence Unit Luego de configurar la unidad de persistencia a través de Netbeans, nos agregara en las librerías todo lo necesario para usar JPA con Hibernate,ademas crea la Carpeta META-INF y le anexa el archivo de configuración persistence.xml.
  • 13. Creando una entidad persistente
  • 14. Creando una entidad persistente (Previamente he creado un paquete llamado com.model para agrupar mis clases de negocio.) Para crear una entidad persistente lo vamos hacer de una tabla ya creada, en este caso ,la tabla Persona, para esto hacemos lo siguiente : Click derecho sobre el paquete com.model,luego New -> Other ->persistence-> EntityClasses from Database
  • 15. Creando una entidad persistente Seleccionamos nuestra cadena de conexión creada previamente . Son todas las tablas que nos arroja la conexión Serán las tablas que se convertirán en clases persistentes. En este caso vamos a convertir la tabla Personas a una clase persistente llamada Persona con sus anotaciones.
  • 16. Creando una entidad persistente Especificamos el nombre de nuestra entidad y su localización Configuramos las diferentes opciones de mapeo como por ejemplo el tipo de asociaciones, con que interfaz se manejaran las colecciones,etc.
  • 17. Creando una entidad persistente El resultado de este proceso es una clase con una serie de atributos anotados y propiedades :
  • 18. Creando un JPA Controller
  • 19. Creando un JPA controller (Previamente he creado un paquete llamado com.dao para agrupar mi capa de acceso a datos .) Para crear un controlador debemos hacer lo siguiente : Click derecho sobre el paquete com.dao,luego New -> Other ->persistence-> Jpa controller classe from Entity classes
  • 20. Creando un JPA controller Seleccionamos la entidad persistente a la que le vamos a crear su controlador de acceso a datos. Le damos siguiente y Listo.
  • 21. Creando un JPA controller Luego de terminar de configurar nuestro controlador ,Netbeans nos genera un paquete nuevo llamado com.dao.exceptions ,que serán las excepciones que lanzara nuestro controlador en caso de que ocurra un error. (Métodos y atributos del controlador generado)
  • 22. Agregar driver de conexión Para terminar de configurar el proyecto faltaría por agregar el jar de conexión a MYSQL
  • 24. En la vida real No se si han dado cuenta, pero cuando netbeans nos genera un controlador, este controlador en su constructor inicializa el motor de persistencia, es decir, sí creamos varias instancias de este controlador se inicializa varias veces el motor haciendo nuestra aplicación pesada y lenta. Para resolver esto lo podemos hacer de varias formas : usando Spring,aplicando patrón singleton en los controladores o centralizando el EntityManagerFactory en una clase de utilerías. Para este ejemplo usare una clase de utilería que me centralice el entityMangerFactory.
  • 25. Creando clase de utileria
  • 26. Código fuente package com.util; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; /** * * @author Ronald Cuello */ public class JpaUtil { private static final EntityManagerFactory emf; static{ try{ emf=Persistence.createEntityManagerFactory("PersistenciaAppPU"); }catch(Throwable t){ System.out.println("Error a inicializar el Entity Manager Factory "+t); t.printStackTrace(); throw new ExceptionInInitializerError(); } } public static EntityManagerFactory getEntityManagerFactory(){ return emf; } }
  • 27. Modificando controlador Hacemos la corrección en el constructor por la clase que acabamos de crear Listo eso es todo amigos……
  • 28. Nos vemos Agradecer no cuesta nada ;) Para mas información sobre JPA visita mi blog Ronaldcuello.blogspot.com