..


Enlaces patrocinados

Acceso a datos - Creación de una capa ORM usando Hibernate y JPA

Ahora vamos a ver cómo crear una capa ORM usando Hibernate 3 y JPA 2 (para la correcta comprensión de esta lección, se asume que el lector tiene conocimientos básicos sobre la fuente de datos y el funcionamiento de la hibernación y APP).

Supongamos que tenemos una base de datos MySQL instalado en nuestra máquina, primero vamos a definir nuestro applicationContext.xml una fuente de datos que se conecta a nuestra Base de Datos:






 <- FUENTE DE DATOS ->







 <bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">



  



 propiedad> name="driverClassName" value="com.mysql.jdbc.Driver" />



  



 propiedad> name="url" value="jdbc:mysql://localhost:3306/mrweb" />



  



 propiedad> name="username" value="mrweb" />



  



 propiedad> name="password" value="s3cret" />







 </ Bean>



Una vez que crear un origen de datos creado para la unidad de persistencia APP situado en el META-INF/persistence.xml archivo:





 <? Xml version = "1.0" encoding = "UTF-8"?>







 <Xmlns Persistencia = "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"



  



 version = "2.0">







 <persistence-unit name="pu" transaction-type="RESOURCE_LOCAL" />







 </ Persistencia>



En este punto estamos preparados para integrarse con Hibernate y JPA:





 <- JPA y Hibernate ->







 <bean id="jpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">



  



 propiedad> name="database" value="MYSQL" />



  



 propiedad> name="showSql" value="true" />



  



 propiedad> name="generateDdl" value="true" />







 </ Bean>



Sin esta nuestra EntityManagerFactory creaimo que nos va a permitir inyectar el DAO en nuestro EntityManger:





 <- ENTIDAD director de la fábrica ->







 <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">



  



 propiedad> name="dataSource" ref="myDataSource" />



  



 propiedad> name="persistenceUnitName" value="pu" />



  



 propiedad> name="jpaVendorAdapter" ref="jpaVendorAdapter" />







 </ Bean>



Ejemplo entidad que crear ahora un coche:





 it.mrwebmaster.hibernate paquete;









 importación java.util.Date;









 javax.persistence.Column las importaciones;







 javax.persistence.Entity importaciones;







 javax.persistence.GeneratedValue importaciones;







 javax.persistence.Id importaciones;







 javax.persistence.PersistenceUnit importaciones;









 @ Entity







 @ PersistenceUnit (unitName = "puede")







 coches de clase pública {





  



 @ Override



  



 public String toString () {



    



 retorno "de coches [id =" + id + "name =" + nombre + ", year =" + años + "]";



  



 }





  



 @ Id



  



 @ GeneratedValue



  



 Identificación de cadenas privadas;



	

  



 @ Column



  



 private String nombre;





  



 @ Column



  



 año Fecha privado;





  



 público entero getId () {



    



 Identificación del retorno;



  



 }





  



 String getName público () {



    



 devolver el nombre;



  



 }





  



 getYear Fecha pública () {



    



 declaración del año;



  



 }





  



 pública setId void (entero id) {



    



 this.id = id;



  



 }





  



 setName public void (String nombre) {



    



 this.name = nombre;



  



 }



	

  



 setYear public void (años Fecha) {



    



 this.año = año;



  



 }







 }



Nuestra entidad tiene sólo tres columnas: Id, Name, y el año, donde la columna Id es nuestra clave principal que se generarán de forma automática por Hibernate.
Después de haber especificado en nuestro parámetro de configuración "= factura verdadera", Hibernate actualizar las tablas en nuestra base de datos de forma automática.
'S uso de la anotación @ PersistenceUnit con esta configuración de la línea nell'applicationContext Xml.:





 <- APP anotación ->







 <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />



ya no es necesario especificar, dentro de la unidad de persistencia, la lista de entidades en nuestra aplicación.

Primavera Guía Java
E-Learning
Linux (Curso) Linux (Curso)
Guía completa de código abierto del sistema. A partir de 49 €.
PHP (Curso) PHP (Curso)
Ciclo completo para la creación de sitios Web dinámicos. A partir de 49 €.
Ruby y Ruby on Rails (Curso) Ruby y Ruby on Rails (Curso)
Crear aplicaciones de software y la Web con Ruby y RoR. A partir de 39 €.
Enlaces patrocinados