SlideShare una empresa de Scribd logo
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;
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;
}
}
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……

Más contenido relacionado

La actualidad más candente

Sentencias abap
Sentencias abapSentencias abap
Sentencias abap
Génesis Cabrera
 
Manual de conexion a una base de datos con gambas
Manual de conexion a una base de datos con gambasManual de conexion a una base de datos con gambas
Manual de conexion a una base de datos con gambas
Moposita1994
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
thalia margarita serrano diaz
 
Java script(diapositivas)
Java script(diapositivas) Java script(diapositivas)
Java script(diapositivas)
Roberto Mejia
 
Desarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEDesarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EE
Fernando Montaño
 
Bases de Datos NoSQL - Riak
Bases de Datos NoSQL - Riak Bases de Datos NoSQL - Riak
Bases de Datos NoSQL - Riak
Andrei Amador
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
Vicente Alberca
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisis
innovalabcun
 
Recuperación de-datos-en-my sql
Recuperación de-datos-en-my sqlRecuperación de-datos-en-my sql
Recuperación de-datos-en-my sql
Francisco Aguilar Smith
 
Base de de datos( historia y sus tipos)
Base de de datos( historia y sus tipos)Base de de datos( historia y sus tipos)
Base de de datos( historia y sus tipos)
Carlos Torres
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
Rodrigo Alfaro Pinto
 
Procesamiento y Mantenimiento de Archivos
Procesamiento y Mantenimiento de ArchivosProcesamiento y Mantenimiento de Archivos
Procesamiento y Mantenimiento de Archivos
Rosmyl Giomar
 
VISTAS
VISTASVISTAS
Proyecto Final Base De Datos
Proyecto Final Base De DatosProyecto Final Base De Datos
Proyecto Final Base De Datos
guestcde16b
 
INDICES EN SQL SERVER
INDICES EN SQL SERVERINDICES EN SQL SERVER
INDICES EN SQL SERVER
Darwin Durand
 
Ch 04 asp.net application
Ch 04 asp.net application Ch 04 asp.net application
Ch 04 asp.net application
Madhuri Kavade
 
Diseño Base Datos
Diseño Base DatosDiseño Base Datos
Diseño Base Datos
jhonnyjpo
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
Gerardo
 
Manejo de eventos en java
Manejo de eventos en javaManejo de eventos en java
Manejo de eventos en java
aleja09_40
 
Aplicaciones de escritorio con c#
Aplicaciones de escritorio con c#Aplicaciones de escritorio con c#
Aplicaciones de escritorio con c#
Marcelo Arteaga Luna
 

La actualidad más candente (20)

Sentencias abap
Sentencias abapSentencias abap
Sentencias abap
 
Manual de conexion a una base de datos con gambas
Manual de conexion a una base de datos con gambasManual de conexion a una base de datos con gambas
Manual de conexion a una base de datos con gambas
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Java script(diapositivas)
Java script(diapositivas) Java script(diapositivas)
Java script(diapositivas)
 
Desarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EEDesarrollo de aplicaciones empresariales con Java EE
Desarrollo de aplicaciones empresariales con Java EE
 
Bases de Datos NoSQL - Riak
Bases de Datos NoSQL - Riak Bases de Datos NoSQL - Riak
Bases de Datos NoSQL - Riak
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Diagramas Analisis
Diagramas AnalisisDiagramas Analisis
Diagramas Analisis
 
Recuperación de-datos-en-my sql
Recuperación de-datos-en-my sqlRecuperación de-datos-en-my sql
Recuperación de-datos-en-my sql
 
Base de de datos( historia y sus tipos)
Base de de datos( historia y sus tipos)Base de de datos( historia y sus tipos)
Base de de datos( historia y sus tipos)
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
 
Procesamiento y Mantenimiento de Archivos
Procesamiento y Mantenimiento de ArchivosProcesamiento y Mantenimiento de Archivos
Procesamiento y Mantenimiento de Archivos
 
VISTAS
VISTASVISTAS
VISTAS
 
Proyecto Final Base De Datos
Proyecto Final Base De DatosProyecto Final Base De Datos
Proyecto Final Base De Datos
 
INDICES EN SQL SERVER
INDICES EN SQL SERVERINDICES EN SQL SERVER
INDICES EN SQL SERVER
 
Ch 04 asp.net application
Ch 04 asp.net application Ch 04 asp.net application
Ch 04 asp.net application
 
Diseño Base Datos
Diseño Base DatosDiseño Base Datos
Diseño Base Datos
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
 
Manejo de eventos en java
Manejo de eventos en javaManejo de eventos en java
Manejo de eventos en java
 
Aplicaciones de escritorio con c#
Aplicaciones de escritorio con c#Aplicaciones de escritorio con c#
Aplicaciones de escritorio con c#
 

Similar a JPA en NetBeans

JPA en Netbeans
JPA en NetbeansJPA en Netbeans
JPA en Netbeans
Ronald Cuello
 
Manual Netbeans Bases Datos2
Manual Netbeans Bases Datos2Manual Netbeans Bases Datos2
Manual Netbeans Bases Datos2
mtemarialuisa
 
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
Ney Rogger Miranda
 
Manual reportes jsp
Manual reportes jspManual reportes jsp
Manual reportes jsp
jujuju12
 
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
Jesús Alberto Velasquez abanto
 
Conexión de Base de Datos
Conexión de Base de DatosConexión de Base de Datos
Conexión de Base de Datos
Priscila Edith Gómez Rascón
 
Practica 4
Practica 4Practica 4
Practica 4
cobymotion
 
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
Naim Jhon Cruzado Paredes
 
Conexion del jpa con mysql
Conexion del jpa con mysqlConexion del jpa con mysql
Conexion del jpa con mysql
Alberto Ayala Carrillo
 
Mysql java
Mysql javaMysql java
Guia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando NetbeansGuia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando Netbeans
Emerson Garay
 
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
T.I.C
 
Unidad 9. acceso a base de datos desde java
Unidad 9. acceso a base de datos desde javaUnidad 9. acceso a base de datos desde java
Unidad 9. acceso a base de datos desde java
devsco63
 
Guia de my sql workbench 5 2
Guia de my sql workbench 5 2Guia de my sql workbench 5 2
Guia de my sql workbench 5 2
Eduardo Perdomo
 
Instalación de MySQL en dispositivos o pc
Instalación de MySQL en dispositivos o pcInstalación de MySQL en dispositivos o pc
Instalación de MySQL en dispositivos o pc
LU1HGFLU1HGF
 
Java
JavaJava
P2C1 - Configuración del Entorno
P2C1 - Configuración del EntornoP2C1 - Configuración del Entorno
P2C1 - Configuración del Entorno
Aurelio Martín Obando Távara
 
PHP - MYSQL
PHP - MYSQLPHP - MYSQL
PHP - MYSQL
asir22012
 
Conexión a postgres desde
Conexión a postgres desdeConexión a postgres desde
Conexión a postgres desde
jbersosa
 
Toturial aplicacion base de datos jsp
Toturial aplicacion base de datos jspToturial aplicacion base de datos jsp
Toturial aplicacion base de datos jsp
Gabriela Vazquez
 

Similar a JPA en NetBeans (20)

JPA en Netbeans
JPA en NetbeansJPA en Netbeans
JPA en Netbeans
 
Manual Netbeans Bases Datos2
Manual Netbeans Bases Datos2Manual Netbeans Bases Datos2
Manual Netbeans Bases Datos2
 
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 reportes jsp
Manual reportes jspManual reportes jsp
Manual reportes jsp
 
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
 
Conexión de Base de Datos
Conexión de Base de DatosConexión de Base de Datos
Conexión de Base de Datos
 
Practica 4
Practica 4Practica 4
Practica 4
 
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
 
Conexion del jpa con mysql
Conexion del jpa con mysqlConexion del jpa con mysql
Conexion del jpa con mysql
 
Mysql java
Mysql javaMysql java
Mysql java
 
Guia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando NetbeansGuia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando Netbeans
 
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
 
Unidad 9. acceso a base de datos desde java
Unidad 9. acceso a base de datos desde javaUnidad 9. acceso a base de datos desde java
Unidad 9. acceso a base de datos desde java
 
Guia de my sql workbench 5 2
Guia de my sql workbench 5 2Guia de my sql workbench 5 2
Guia de my sql workbench 5 2
 
Instalación de MySQL en dispositivos o pc
Instalación de MySQL en dispositivos o pcInstalación de MySQL en dispositivos o pc
Instalación de MySQL en dispositivos o pc
 
Java
JavaJava
Java
 
P2C1 - Configuración del Entorno
P2C1 - Configuración del EntornoP2C1 - Configuración del Entorno
P2C1 - Configuración del Entorno
 
PHP - MYSQL
PHP - MYSQLPHP - MYSQL
PHP - MYSQL
 
Conexión a postgres desde
Conexión a postgres desdeConexión a postgres desde
Conexión a postgres desde
 
Toturial aplicacion base de datos jsp
Toturial aplicacion base de datos jspToturial aplicacion base de datos jsp
Toturial aplicacion base de datos jsp
 

Más de Manuel Antonio

Mule Cloud-Conceptos
Mule Cloud-ConceptosMule Cloud-Conceptos
Mule Cloud-Conceptos
Manuel Antonio
 
Mule Cloud Connectors-Guardando y restaurando el estado o auth
Mule Cloud Connectors-Guardando y restaurando el estado o authMule Cloud Connectors-Guardando y restaurando el estado o auth
Mule Cloud Connectors-Guardando y restaurando el estado o auth
Manuel Antonio
 
Mule Cloud Connector-Personalizando Callback
Mule Cloud Connector-Personalizando CallbackMule Cloud Connector-Personalizando Callback
Mule Cloud Connector-Personalizando Callback
Manuel Antonio
 
Mule Cloud Connectors-Configuracion OAuth1
Mule Cloud Connectors-Configuracion OAuth1Mule Cloud Connectors-Configuracion OAuth1
Mule Cloud Connectors-Configuracion OAuth1
Manuel Antonio
 
Mule Cloud Connectors-Autorizando el conector
Mule Cloud Connectors-Autorizando el conectorMule Cloud Connectors-Autorizando el conector
Mule Cloud Connectors-Autorizando el conector
Manuel Antonio
 
Mule Cloud Connectors-Configuracion OAuth
Mule Cloud Connectors-Configuracion OAuthMule Cloud Connectors-Configuracion OAuth
Mule Cloud Connectors-Configuracion OAuth
Manuel Antonio
 
Mule Cloud Connector-Conectividad OAuth
Mule Cloud Connector-Conectividad OAuthMule Cloud Connector-Conectividad OAuth
Mule Cloud Connector-Conectividad OAuth
Manuel Antonio
 
Mule cloud connectors1-conectores
Mule cloud connectors1-conectoresMule cloud connectors1-conectores
Mule cloud connectors1-conectores
Manuel Antonio
 
Mule Cloud Connectors1-Conectores
Mule Cloud Connectors1-ConectoresMule Cloud Connectors1-Conectores
Mule Cloud Connectors1-Conectores
Manuel Antonio
 
Mule Cloud Connectors-Instalacion
Mule Cloud Connectors-InstalacionMule Cloud Connectors-Instalacion
Mule Cloud Connectors-Instalacion
Manuel Antonio
 
Mule Cloud Connectors-Conceptos Basicos
Mule Cloud Connectors-Conceptos BasicosMule Cloud Connectors-Conceptos Basicos
Mule Cloud Connectors-Conceptos Basicos
Manuel Antonio
 
Mule cloud connectors versus el resto del mundo
Mule cloud connectors versus el resto del mundoMule cloud connectors versus el resto del mundo
Mule cloud connectors versus el resto del mundo
Manuel Antonio
 
Problema Educativo Mexico
Problema Educativo MexicoProblema Educativo Mexico
Problema Educativo Mexico
Manuel Antonio
 
NetBeans para Java, C, C++
NetBeans para Java, C, C++NetBeans para Java, C, C++
NetBeans para Java, C, C++
Manuel Antonio
 
Serializacion Java
Serializacion JavaSerializacion Java
Serializacion Java
Manuel Antonio
 
Mule Librerias en Java
Mule Librerias en JavaMule Librerias en Java
Mule Librerias en Java
Manuel Antonio
 
Clases C#
Clases C#Clases C#
Clases C#
Manuel Antonio
 
Array y Objects C#
Array y Objects C#Array y Objects C#
Array y Objects C#
Manuel Antonio
 
Javascript C#
Javascript C#Javascript C#
Javascript C#
Manuel Antonio
 
SQL en Visual Studio
SQL en Visual StudioSQL en Visual Studio
SQL en Visual Studio
Manuel Antonio
 

Más de Manuel Antonio (20)

Mule Cloud-Conceptos
Mule Cloud-ConceptosMule Cloud-Conceptos
Mule Cloud-Conceptos
 
Mule Cloud Connectors-Guardando y restaurando el estado o auth
Mule Cloud Connectors-Guardando y restaurando el estado o authMule Cloud Connectors-Guardando y restaurando el estado o auth
Mule Cloud Connectors-Guardando y restaurando el estado o auth
 
Mule Cloud Connector-Personalizando Callback
Mule Cloud Connector-Personalizando CallbackMule Cloud Connector-Personalizando Callback
Mule Cloud Connector-Personalizando Callback
 
Mule Cloud Connectors-Configuracion OAuth1
Mule Cloud Connectors-Configuracion OAuth1Mule Cloud Connectors-Configuracion OAuth1
Mule Cloud Connectors-Configuracion OAuth1
 
Mule Cloud Connectors-Autorizando el conector
Mule Cloud Connectors-Autorizando el conectorMule Cloud Connectors-Autorizando el conector
Mule Cloud Connectors-Autorizando el conector
 
Mule Cloud Connectors-Configuracion OAuth
Mule Cloud Connectors-Configuracion OAuthMule Cloud Connectors-Configuracion OAuth
Mule Cloud Connectors-Configuracion OAuth
 
Mule Cloud Connector-Conectividad OAuth
Mule Cloud Connector-Conectividad OAuthMule Cloud Connector-Conectividad OAuth
Mule Cloud Connector-Conectividad OAuth
 
Mule cloud connectors1-conectores
Mule cloud connectors1-conectoresMule cloud connectors1-conectores
Mule cloud connectors1-conectores
 
Mule Cloud Connectors1-Conectores
Mule Cloud Connectors1-ConectoresMule Cloud Connectors1-Conectores
Mule Cloud Connectors1-Conectores
 
Mule Cloud Connectors-Instalacion
Mule Cloud Connectors-InstalacionMule Cloud Connectors-Instalacion
Mule Cloud Connectors-Instalacion
 
Mule Cloud Connectors-Conceptos Basicos
Mule Cloud Connectors-Conceptos BasicosMule Cloud Connectors-Conceptos Basicos
Mule Cloud Connectors-Conceptos Basicos
 
Mule cloud connectors versus el resto del mundo
Mule cloud connectors versus el resto del mundoMule cloud connectors versus el resto del mundo
Mule cloud connectors versus el resto del mundo
 
Problema Educativo Mexico
Problema Educativo MexicoProblema Educativo Mexico
Problema Educativo Mexico
 
NetBeans para Java, C, C++
NetBeans para Java, C, C++NetBeans para Java, C, C++
NetBeans para Java, C, C++
 
Serializacion Java
Serializacion JavaSerializacion Java
Serializacion Java
 
Mule Librerias en Java
Mule Librerias en JavaMule Librerias en Java
Mule Librerias en Java
 
Clases C#
Clases C#Clases C#
Clases C#
 
Array y Objects C#
Array y Objects C#Array y Objects C#
Array y Objects C#
 
Javascript C#
Javascript C#Javascript C#
Javascript C#
 
SQL en Visual Studio
SQL en Visual StudioSQL en Visual Studio
SQL en Visual Studio
 

Último

Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdfDosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
KarenRuano6
 
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdfLas Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Demetrio Ccesa Rayme
 
El Cerebro se Cambia a si Mismo-Norman Doidge.pdf
El Cerebro se Cambia a si Mismo-Norman Doidge.pdfEl Cerebro se Cambia a si Mismo-Norman Doidge.pdf
El Cerebro se Cambia a si Mismo-Norman Doidge.pdf
Robert Zuñiga Vargas
 
Liturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptxLiturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptx
YeniferGarcia36
 
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Juan Martín Martín
 
pueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptxpueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptx
RAMIREZNICOLE
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
https://gramadal.wordpress.com/
 
Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.
amayaltc18
 
p4s.co Ecosistema de Ecosistemas - Diagrama.pdf
p4s.co Ecosistema de Ecosistemas - Diagrama.pdfp4s.co Ecosistema de Ecosistemas - Diagrama.pdf
p4s.co Ecosistema de Ecosistemas - Diagrama.pdf
DavidCamiloMosquera
 
Manual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HCManual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HC
josseanlo1581
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
Sandra Mariela Ballón Aguedo
 
tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)
saradocente
 
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJAPANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
estroba5
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
JAVIER SOLIS NOYOLA
 
La necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdfLa necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdf
JonathanCovena1
 
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Unidad de Espiritualidad Eudista
 
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIACONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
ginnazamudio
 
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Alejandrino Halire Ccahuana
 
1° T3 Examen Zany de primer grado compl
1° T3 Examen Zany  de primer grado compl1° T3 Examen Zany  de primer grado compl
1° T3 Examen Zany de primer grado compl
ROCIORUIZQUEZADA
 

Último (20)

Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdfDosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
 
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdfLas Tecnologias Digitales en los Aprendizajesdel Siglo XXI  UNESCO Ccesa007.pdf
Las Tecnologias Digitales en los Aprendizajesdel Siglo XXI UNESCO Ccesa007.pdf
 
El Cerebro se Cambia a si Mismo-Norman Doidge.pdf
El Cerebro se Cambia a si Mismo-Norman Doidge.pdfEl Cerebro se Cambia a si Mismo-Norman Doidge.pdf
El Cerebro se Cambia a si Mismo-Norman Doidge.pdf
 
Liturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptxLiturgia día del Padre del siguiente domingo.pptx
Liturgia día del Padre del siguiente domingo.pptx
 
A VISITA DO SENHOR BISPO .
A VISITA DO SENHOR BISPO                .A VISITA DO SENHOR BISPO                .
A VISITA DO SENHOR BISPO .
 
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
 
pueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptxpueblos originarios de chile presentacion twinkl.pptx
pueblos originarios de chile presentacion twinkl.pptx
 
Sesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdfSesión: El espiritismo desenmascarado.pdf
Sesión: El espiritismo desenmascarado.pdf
 
Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.Examen de la EvAU 2024 en Navarra Latín.
Examen de la EvAU 2024 en Navarra Latín.
 
p4s.co Ecosistema de Ecosistemas - Diagrama.pdf
p4s.co Ecosistema de Ecosistemas - Diagrama.pdfp4s.co Ecosistema de Ecosistemas - Diagrama.pdf
p4s.co Ecosistema de Ecosistemas - Diagrama.pdf
 
Manual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HCManual de procedimiento para gráficos HC
Manual de procedimiento para gráficos HC
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
 
tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)tema 7. Los siglos XVI y XVII ( resumen)
tema 7. Los siglos XVI y XVII ( resumen)
 
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJAPANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
 
La necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdfLa necesidad de bienestar y el uso de la naturaleza.pdf
La necesidad de bienestar y el uso de la naturaleza.pdf
 
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
 
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIACONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
 
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
 
1° T3 Examen Zany de primer grado compl
1° T3 Examen Zany  de primer grado compl1° T3 Examen Zany  de primer grado compl
1° T3 Examen Zany de primer grado compl
 

JPA en NetBeans

  • 1.
  • 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; 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.
  • 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; } } 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……