Hibernacija (2 dalis): konfigūracija ir naudojimas
„Hibernate“ konfigūracija „Java“ programoje
- Įdiekite JDK 1.4 arba JDK 1.5.
- Atsisiųskite 3 versiją iš hibernate.org
- Nurodykite „Hibernate“ stiklainius klasėje.
- Nustatykite sulaikytosios konfigūracijos failą (hibernate.cfg.xml):
Šis failas turi būti įtrauktas į katalogą, kuriame yra JAVA programos šaltinio kodas (rekomenduojama).
Toliau pateikiamas hibernate.cfg.xml failo, kuriame yra būtini komentarai, pavyzdys:
PUBLIC "- // Sulaikytosios / sulaikytosios konfigūracijos DTD // EN"
"[//hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
jdbc: oracle: plonas: @dbServer: 1521: db
oracle.jdbc.OracleDriver
org.hibernate.dialect.Oracle9Dialect
dbusname
„dbpassword“
tiesa
tiesa
tiesa
1
klaidinga
50
tiesa
org.hibernate.connection.C3P0ConnectionProvider
3
180
100
10
1000
org.hibernate.cache.NoCacheProvider
Nustatykite hbm kartografavimo failus:
Tai rinkmenų rinkinys, padedantis susieti subjektų duomenų bazę su susijusiais JAVA objektais.
Visi hbm žemėlapių failai yra aprašyti konfigūracijos faile (hibernate.cfg.xml).
„Hibernato“ naudojimas „Java“ programoje:
Šiame pavyzdyje mes naudojame Hibernate konfigūracijos failą:
- Lentelės deklaracija („Oracle“)
CREATE TABLE CLIENT
(
ID_Client NUMBER (10) NE NULL,
TITRE VARCHAR2 (10),
NOM VARCHAR2 (30),
REMISE NUMBER (19, 5),
CA NUMBER (19, 5),
CONSTRAINT PK_CLIENT PRIMARY KEY (CLIENT_ID)
);
- JAVA klasių deklaracija
/ ** constructeur par défaut * /
viešasis klientas () {
}
/ ** Konstrukcija užbaigta ** /
viešasis klientas (ilgas klientas, styginių titras, eilutės nominacija, didžiojo dekimato atkūrimas, BigDecimal ca)
{
this.idClient = idClient;
this.titre = titras;
this.name = vardas;
this.remise = remise;
this.ca = ca;
}
/ ** „Les getters et setters“ ** /
viešas Long getIdClient ()
{
grąžinti šį failą;
}
public void setIdClient (ilgas klientas) {
this.clientId = clientId;
}
viešas String getTitre () {
grąžinti šį dydį;
}
viešoji negaliojantis (styginių titras) {
this.titre = titras;
}
viešas String getNom () {
grįžti į šią.nom;
}
public void setNom (String nom) {
this.nom = nom;
}
„BigDecimal getRemise“ () {
grįžti į šią vietą.
}
viešoji negaliojantis nustatymas (BigDecimal remise) {
this.remise = remise;
}
viešas BigDecimal getCa () {
grįžti į šią svetainę;
}
viešoji negaliojantis setCa (BigDecimal ca) {
this.ca = ca;
}
}
- „Client.hbm.xml“ kartografavimo failai:
"- // Sulaikytasis / sulaikytasis žemėlapis DTD 3.0 // EN"
"//hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
name = "[Nom_Package] .Klientas" table = "KLIENTAS" enterprise-name = "Klientas" > @ hibernate.class table = "KLIENTAS" name = "idClient" type = "java.lang.Long" column = "ID_CLIENT" > „Id du client“ @ hibernate.id generator-class = "priskirta" type = "java.lang.Long" stulpelis = "CLIENT_ID" name = "titre" type = "java.lang.String" column = "TITRE" ilgis = "10" > Titre du klientas @ hibernate.property column = "TITRE" ilgis = "10" name = "name" type = "java.lang.String" column = "NAME" ilgis = "30" > Nom du klientas @ hibernate.property column = "NAME" ilgis = "30" name = "remise" type = "java.math.BigDecimal" column = "REMISE" ilgis = "19" > Remise du client @ hibernate.property column = "REMISE" ilgis = "19" name = "ca" type = "java.math.BigDecimal" column = "CA" ilgis = "19" > Chiffre Affaire Pirminis raktas yra apibrėžtas žyma: mūsų pavyzdyje jis yra pagrįstas seka. Naudojant žymę galima nustatyti sudėtinį raktą: kompozito-id> Toliau pateiktame pavyzdyje naudojamas „Hibernato“ sesijos „SaveOrUpdate“ () metodas. org.hibernate.Session sess = sessFact.openSession (); Klientas c = naujas klientas (); c.setName („John“); p.setTitre („ponas“); Operacija tx = sess.beginTransaction (); sess.saveOrUpdate (p); tx.commit (); sess.close ();