..
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.
<- 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.
| |
Linux (Curso)
Guía completa de código abierto del sistema. A partir de 49 €. |
| |
PHP (Curso)
Ciclo completo para la creación de sitios Web dinámicos. A partir de 49 €. |
| |
Ruby y Ruby on Rails (Curso)
Crear aplicaciones de software y la Web con Ruby y RoR. A partir de 39 €. |