Para este ejercicio en Hibernate necesitamos una tabla PERSONA la cual es creada desde Apache Derby, hay una entrada en este blog el cual explica la creación de esta tabla
Creacion Tabla Derby
En la parte final están los scripts y código Java de este ejemplo.
Estructura de la tabla persona
CREATE TABLE PERSONA (
NOMBRE VARCHAR(10),
APELLIDOP VARCHAR(20),
EDAD INTEGER
);
Valores insertados
INSERT INTO PERSONA (NOMBRE, APELLIDOP, EDAD) VALUES ('Dracof','Dracof',28);
INSERT INTO PERSONA (NOMBRE, APELLIDOP, EDAD) VALUES ('Juan','Perez',33);
INSERT INTO PERSONA (NOMBRE, APELLIDOP, EDAD) VALUES ('Maria E.','Andrade',60);
Estructura del proyecto en eclipse
Descargamos el archivo hibernate-distribution-3.3.0.GA-dist.zip desde la siguiente direccion
hibernate-distribution-3.3.0.GA-dist.zip
Lo descomprimimos he importamos las liberarías en nuestro proyecto en eclipse
antlr-2.7.6.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
javassist-3.4.GA.jar
jta-1.1.jar
slf4j-api-1.4.2.jar
hibernate3.jar
slf4j-log4j12-1.4.2.jar
log4j-1.2.15.jar
Para usarlo con Derby importamos ademas las librerias
derbyclient.jar
De inicio creamos una clase para la creación de sessiones hibernate
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
sessionFactory = new Configuration().configure().buildSessionFactory();
} catch (Throwable tr) {
tr.printStackTrace();
throw new ExceptionInInitializerError(tr);
}
}
public static SessionFactory getSessionFactory () {
return sessionFactory;
}
}
Creamos un pojo que representa la tabla persona
public class Persona {
private String nombre;
private String apellidoP;
private Integer edad;
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getApellidoP() {
return apellidoP;
}
public void setApellidoP(String apellidoP) {
this.apellidoP = apellidoP;
}
public Integer getEdad() {
return edad;
}
public void setEdad(Integer edad) {
this.edad = edad;
}
}
Con su archivo de configuración Persona.hbml.cml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="org.dracof.hibernate.Persona" table="PERSONA">
<id name="nombre" column="NOMBRE">
<generator class="assigned"/>
</id>
<property name="apellidoP" column="APELLIDOP"/>
<property name="edad" column="EDAD"/>
</class>
</hibernate-mapping>
Creamos el archivo de configuración de Hibernate (hibernate.cfg.xml)
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">
org.apache.derby.jdbc.ClientDriver</property>
<property name="connection.url">
jdbc:derby://localhost:1530/dracof
</property>
<property name="connection.username">dracof</property>
<property name="connection.password">dracof</property>
<property name="current_session_context_class">thread</property>
<property name="dialect">
org.hibernate.dialect.DerbyDialect
</property>
<property name="show_sql">true</property>
<mapping resource="org/dracof/hibernate/Persona.hbm.xml"/>
</session-factory>
</hibernate-configuration>
Por último creamos una clase Test para probar lo anterios
public static void main(String[] args) {
Session session =
HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Persona persona = (Persona)session.get(Persona.class, "Dracof");
System.out.println( persona.getApellidoP() );
session.close();
}
Este es el resultado de ejecutar el main
Hibernate: select persona0_.NOMBRE as NOMBRE0_0_, persona0_.APELLIDOP as APELLIDOP0_0_, persona0_.EDAD as EDAD0_0_ from PERSONA persona0_
where persona0_.NOMBRE=?
Dracof
Script de este ejercicio script.sql
Codigo de este ejercicio HibernateBasico.zip
Suerte.
Este comentario ha sido eliminado por un administrador del blog.
ResponderEliminarEste comentario ha sido eliminado por un administrador del blog.
Eliminar