Hibernate (Bagian 2): konfigurasi dan penggunaan
Konfigurasi hibernasi dalam aplikasi Java
- Instal JDK 1.4 atau JDK 1.5.
- Unduh versi 3 dari hibernate.org
- Referensi guci Hibernate di classpath.
- Tentukan file konfigurasi Hibernate (hibernate.cfg.xml):
File ini harus ditempatkan di direktori yang berisi kode sumber aplikasi JAVA (disarankan).
Di bawah ini adalah contoh file hibernate.cfg.xml dengan komentar yang diperlukan:
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
nama pengguna
kata sandi
benar
benar
benar
1
Salah
50
benar
org.hibernate.connection.C3P0ConnectionProvider
3
180
100
10
1000
org.hibernate.cache.NoCacheProvider
Tentukan file pemetaan hbm:
Ini adalah satu set file yang membuat pemetaan antara database entitas dan objek JAVA terkait.
Path lengkap semua file pemetaan hbm dijelaskan dalam file konfigurasi (hibernate.cfg.xml).
Menggunakan Hibernate di aplikasi Java:
Dalam contoh ini kita akan menggunakan file konfigurasi Hibernate:
- Deklarasi tabel (Oracle)
BUAT KLIEN TABEL
(
ID_Client NUMBER (10) NOT NULL,
TITRE VARCHAR2 (10),
NOM VARCHAR2 (30),
REMISE NUMBER (19, 5),
CA NUMBER (19, 5),
CONSTRAINT PK_CLIENT KUNCI UTAMA (CLIENT_ID)
);
- Deklarasi kelas JAVA
/ ** constructeur par défaut * /
Klien publik () {
}
/ ** Selesai konstruktor ** /
Klien publik (Long clientId, String titre, String nom, BigDecimal remise, BigDecimal ca)
{
this.idClient = idClient;
this.titre = titer;
this.name = nama;
this.remise = remise;
this.ca = ca;
}
/ ** Les getters dan setters ** /
public Long getIdClient ()
{
kembalikan this.clientId;
}
kekosongan publik setIdClient (Long clientId) {
this.clientId = clientId;
}
public String getTitre () {
kembalikan ini.
}
kekosongan publik setTitre (String titre) {
this.titre = titer;
}
public String getNom () {
kembalikan this.nom;
}
public void setNom (String nom) {
this.nom = nom;
}
getRemise BigDecimal publik () {
kembalikan ini. bangun;
}
kekosongan publik setRemise (remise BigDecimal) {
this.remise = remise;
}
getCa BigDecimal publik () {
kembalikan this.ca;
}
public void setCa (BigDecimal ca) {
this.ca = ca;
}
}
- File pemetaan Client.hbm.xml:
"- // Hibernate / Hibernate Mapping DTD 3.0 // EN"
"//hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
name = "[Nom_Package] .Client" table = "CLIENT" entitas-name = "Klien" > @ hibernate.class table = "CLIENT" name = "idClient" type = "java.lang.Long" kolom = "ID_CLIENT" > Id du client @ hibernate.id generator-class = "ditugaskan" type = "java.lang.Long" kolom = "CLIENT_ID" name = "titre" type = "java.lang.String" kolom = "TITRE" length = "10" > Titre du client @ hibernate.property kolom = "TITRE" length = "10" name = "name" type = "java.lang.String" kolom = "NAME" length = "30" > Nom du client @ hibernate.property kolom = "NAME" length = "30" name = "remise" type = "java.math.BigDecimal" kolom = "REMISE" length = "19" > Remise du client @ hibernate.property kolom = "REMISE" length = "19" name = "ca" type = "java.math.BigDecimal" kolom = "CA" length = "19" > Chiffre Affaire Kunci utama didefinisikan dalam tag: dalam contoh kita, ini didasarkan pada urutan. Dimungkinkan untuk mendefinisikan kunci komposit menggunakan tag: komposit-id> Contoh di bawah ini menggunakan metode saveOrUpdate () dari sesi Hibernate. org.hibernate.Session sess = sessFact.openSession (); Klien c = Klien baru (); c.setName ("John"); p.setTitre ("Mr"); Transaksi tx = sess.beginTransaction (); sess.saveOrUpdate (p); tx.commit (); sess.close ();