Hibernate (Parte 2): configuración y uso
Configuración de hibernación en una aplicación Java.
- Instale JDK 1.4 o JDK 1.5.
- Descargar la versión 3 de hibernate.org
- Haz referencia a los frascos de Hibernate en el classpath.
- Defina el archivo de configuración de Hibernate (hibernate.cfg.xml):
Este archivo debe colocarse en el directorio que contiene el código fuente de la aplicación JAVA (recomendado).
A continuación se muestra un ejemplo del archivo hibernate.cfg.xml con los comentarios necesarios:
PUBLIC "- // Hibernate / Hibernate Configuration DTD // EN"
"[//hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
jdbc: oracle: thin: @dbServer: 1521: db
oracle.jdbc.OracleDriver
org.hibernate.dialect.Oracle9Dialect
dbusername
dbpassword
cierto
cierto
cierto
1
falso
50
cierto
org.hibernate.connection.C3P0ConnectionProvider
3
180
100
10
1000
org.hibernate.cache.NoCacheProvider
Defina los archivos de mapeo hbm:
Este es un conjunto de archivos que realiza el mapeo entre la base de datos de la entidad y los objetos JAVA asociados.
Las rutas completas de todos los archivos de mapeo hbm se describen en el archivo de configuración (hibernate.cfg.xml).
Usando Hibernate en una aplicación Java:
En este ejemplo usaremos el archivo de configuración de Hibernate:
- Declaración de la mesa (Oracle)
CREAR TABLA CLIENTE
(
ID_Client NUMBER (10) NOT NULL,
TITRE VARCHAR2 (10),
NOM VARCHAR2 (30),
NÚMERO DE REMISE (19, 5),
NÚMERO CA (19, 5),
LLAVE PRINCIPAL DE RESTRICCIÓN PK_CLIENT (CLIENT_ID)
);
- Declaración de clases de JAVA.
/ ** constructeur par défaut * /
Cliente público () {
}
/ ** Constructeur complet ** /
Cliente público (ID de cliente largo, Título de cadena, Nom de cadena, Remise BigDecimal, Ca BigDecimal)
{
this.idClient = idClient;
this.titre = titre;
this.name = nombre;
this.remise = remise;
this.ca = ca;
}
/ ** Les getters et setters ** /
public Long getIdClient ()
{
devuelve this.clientId;
}
public void setIdClient (Long clientId) {
this.clientId = clientId;
}
String pública getTitre () {
devuelve esto.
}
public void setTitre (String titre) {
this.titre = titre;
}
Cadena pública getNom () {
devuelve esto.nom;
}
public void setNom (String nom) {
this.nom = nom;
}
público BigDecimal getRemise () {
devuelve esto.
}
public void setRemise (BigDecimal remise) {
this.remise = remise;
}
public BigDecimal getCa () {
devuelve this.ca;
}
public void setCa (BigDecimal ca) {
this.ca = ca;
}
}
- Archivos de mapeo Client.hbm.xml:
"- // Hibernate / Hibernate Mapping DTD 3.0 // EN"
"//hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
name = "[Nom_Package] .Client" table = "CLIENTE" nombre-entidad = "cliente" > @ hibernate.class table = "CLIENTE" name = "idClient" type = "java.lang.Long" column = "ID_CLIENT" > Id du cliente @ hibernate.id clase-generador = "asignado" type = "java.lang.Long" column = "CLIENT_ID" name = "titre" type = "java.lang.String" columna = "TITRE" longitud = "10" > Titre du client @ hibernate.property columna = "TITRE" longitud = "10" nombre = "nombre" type = "java.lang.String" column = "NAME" longitud = "30" > Nom du cliente @ hibernate.property column = "NAME" longitud = "30" name = "remise" type = "java.math.BigDecimal" column = "REMISE" longitud = "19" > Remise du client @ hibernate.property column = "REMISE" longitud = "19" nombre = "ca" type = "java.math.BigDecimal" columna = "CA" longitud = "19" > Chiffre Affaire La clave principal se define en la etiqueta: en nuestro ejemplo, se basa en una secuencia. Es posible definir una clave compuesta usando la etiqueta: ID de composición> El siguiente ejemplo utiliza el método saveOrUpdate () de la sesión de Hibernate. org.hibernate.Session sess = sessFact.openSession (); Cliente c = nuevo Cliente (); c.setName ("John"); p.setTitre ("Mr"); Transacción tx = sess.beginTransaction (); sess.saveOrUpdate (p); tx.commit (); sess.close ();