Hibernare (Partea 2): configurare și utilizare
Hibernare de configurare într-o aplicație Java
- Instalați JDK 1.4 sau JDK 1.5.
- Descărcați versiunea 3 de la hibernate.org
- Consultați borcanele Hibernate în calea de clasă.
- Definiți fișierul de configurare Hibernate (hibernate.cfg.xml):
Acest fișier trebuie plasat în directorul care conține codul sursă al aplicației JAVA (recomandat).
Mai jos este un exemplu de fișier hibernate.cfg.xml cu comentariile necesare:
PUBLIC "- // Configurarea Hibernate / Hibernate DTD // EN"
"[//Hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
jdbc: oracle: subțire: @dbServer: 1521: db
oracle.jdbc.OracleDriver
org.hibernate.dialect.Oracle9Dialect
dbusername
dbPassword
Adevărat
Adevărat
Adevărat
1
fals
50
Adevărat
org.hibernate.connection.C3P0ConnectionProvider
3
180
100
10
1000
org.hibernate.cache.NoCacheProvider
Definiți fișierele de mapare hbm:
Acesta este un set de fișiere care face cartografiere între baza de date a entității și obiectele asociate JAVA.
Căile complete ale tuturor fișierelor de cartografiere hbm sunt descrise în fișierul de configurare (hibernate.cfg.xml).
Utilizarea Hibernate într-o aplicație Java:
În acest exemplu vom folosi fișierul de configurare Hibernate:
- Declarația tabelului (Oracle)
CREAȚI CLIENTUL TABELULUI
(
ID_Client NUMBER (10) NU NULL,
TITRE VARCHAR2 (10),
NOM VARCHAR2 (30),
NUMĂRUL DE NUMĂR (19, 5),
CA NUMBER (19, 5),
CONSTRAINT PK_CLIENT PRIMARY KEY (CLIENT_ID)
);
- Declarația clasei JAVA
/ ** constructeur par défaut * /
client public () {
}
/ ** Constructeur complet ** /
client public (client client lung, titlul de coardă, coarda nom, remisia BigDecimal, BigDecimal ca)
{
this.idClient = idClient;
this.titre = titru;
this.name = nume;
this.remise = remite;
this.ca = ca;
}
/ ** Les getters et setters ** /
public Long getIdClient ()
{
returnează acest.clientId;
}
public void setIdClient (Long clientId) {
this.clientId = clientId;
}
public String getTitre () {
returnați acest titlu;
}
public void setTitre (titlul coardei) {
this.titre = titru;
}
public String getNom () {
returnați acest.nom;
}
public void setNom (String nom) {
this.nom = nom;
}
public BigDecimal getRemise () {
returnați acest lucru;
}
public void setRemise (remitere BigDecimal) {
this.remise = remite;
}
public BigDecimal getCa () {
returnați acest lucru;
}
public void setCa (BigDecimal ca) {
this.ca = ca;
}
}
- Fisierele de mapare ale fișierului Client.hbm.xml:
"- // Hibernare / Hibernare Mapping DTD 3.0 // EN"
"//hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
name = "[Nom_Package] .Client" tabel = "CLIENT" entitate-name = "Client" > @ hibernate.class tabel = "CLIENT" name = "idClient" tip = "java.lang.Long" coloană = "ID_CLIENT" > Id client @ hibernate.id Generator-class = "atribuit" tip = "java.lang.Long" coloană = "CLIENT_ID" name = "titru" tip = "java.lang.String" coloană = "TITRE" lungime = "10" > Titlul clientului @ hibernate.property coloană = "TITRE" lungime = "10" name = "nume" tip = "java.lang.String" coloană = "NAME" lungime = "30" > Nom du client @ hibernate.property coloană = "NAME" lungime = "30" name = "Remise" tip = "java.math.BigDecimal" coloană = "REMISE" lungime = "19" > Remise client @ hibernate.property coloană = "REMISE" lungime = "19" name = "ca" tip = "java.math.BigDecimal" coloană = "CA" lungime = "19" > Chiffre Affaire Cheia primară este definită în etichetă: în exemplul nostru, se bazează pe o secvență. Este posibil să definiți o cheie compusă utilizând eticheta: compozit-id> Exemplul de mai jos utilizează metoda saveOrUpdate () a sesiunii Hibernate. org.hibernate.Session sesiune = sessFact.openSession (); Client c = client nou (); c.setName ( "Ioan"); p.setTitre ( "dl"); Tranzacție tx = sess.beginTransaction (); sess.saveOrUpdate (p); tx.commit (); sess.close ();