Hazırda Beklet (2): yapılandırma ve kullanım
Bir Java uygulamasında hazırda bekleme yapılandırması
- JDK 1.4 veya JDK 1.5'i yükleyin.
- Hibernate.org sitesinden sürüm 3'ü indirin
- Sınıf yolundaki Hazırda Beklet kavanozlarına bakın.
- Hazırda Beklet yapılandırma dosyasını tanımlayın (hibernate.cfg.xml):
Bu dosya, JAVA uygulamasının kaynak kodunu içeren dizine yerleştirilmelidir (önerilir).
Aşağıda gerekli yorumları içeren hibernate.cfg.xml dosyası örneği verilmiştir:
KAMU "- // Hazırda Beklet / Hazırda Beklet Ayarı DTD // TR"
"[//Hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
jdbc: oracle: İnce: @dbServer: 1521: db
oracle.jdbc.OracleDriver
org.hibernate.dialect.Oracle9Dialect
dbusername
dbpassword
doğru
doğru
doğru
1
yanlış
50
doğru
org.hibernate.connection.C3P0ConnectionProvider
3
180
100
10
1000
org.hibernate.cache.NoCacheProvider
Hbm eşleme dosyalarını tanımlayın:
Bu, varlık veritabanı ile ilişkili JAVA nesneleri arasında eşlemeyi yapan bir dosya kümesidir.
Tüm hbm haritalama dosyalarının tam yolları, yapılandırma dosyasında (hibernate.cfg.xml) tanımlanmıştır.
Hazırda Beklet'i bir Java uygulamasında kullanma:
Bu örnekte Hazırda Yapılandırma dosyasını kullanacağız:
- Masanın Beyanı (Oracle)
TABLO İSTEMCİ OLUŞTURMA
(
ID_Client NUMBER (10) NULL DEĞİL,
TITRE VARCHAR2 (10),
NOM VARCHAR2 (30),
REMISE NUMARASI (19, 5),
CA NUMARASI (19, 5),
CONSTRAINT PK_CLIENT PRIMARY KEY (CLIENT_ID)
);
- JAVA sınıfları beyanı
/ ** yapıcı par défaut * /
genel Müşteri () {
}
/ ** Yapıcı tamamlandı ** /
public Client (Uzun clientId, String başlığı, String nom, BigDecimal remise, BigDecimal ca)
{
this.idClient = idClient;
this.titre = titre;
this.name = isim;
this.remise = remise;
this.ca = ca;
}
/ ** Les alıcılar ve belirleyiciler ** /
genel Uzun getIdClient ()
{
this.clientId değerini döndür;
}
genel geçersiz setIdClient (Uzun clientId) {
this.clientId = clientId;
}
Genel Dize getTitre () {
this.titre döndür;
}
public void setTitre (Dize başlığı) {
this.titre = titre;
}
Genel Dize getNom () {
this.nom;
}
public void setNom (Dize nom) {
this.nom = nom;
}
genel BigDecimal getRemise () {
bunu döndür.
}
public void setRemise (BüyükDecimal remise) {
this.remise = remise;
}
Genel BigDecimal getCa () {
this.ca döndür;
}
public void setCa (BüyükDecimal ca) {
this.ca = ca;
}
}
- Client.hbm.xml eşleme dosyaları:
"- // Hazırda Beklet / Hazırda Bekletme DTD 3.0
"//hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
adı = "[Nom_Package] .Client" tablo = "MÜŞTERİ" varlık-name = "Müşteri" > @ hibernate.class tablo = "MÜŞTERİ" isim = "idClient" type = "java.lang.Long" Kolon = "ID_CLIENT" > Id du istemcisi @ hibernate.id jeneratör-class = "atanmış" type = "java.lang.Long" Kolon = "CLIENT_ID" = "Titre" adını type = "java.lang.String" Kolon = "titresi" uzunluğu = "10" > Müşteri istemcisi @ hibernate.property Kolon = "titresi" uzunluğu = "10" = "Adı" adı type = "java.lang.String" Sütun = "AD" uzunluk = "30" > Nom du istemcisi @ hibernate.property Sütun = "AD" uzunluk = "30" = "Remise" adını type = "java.math.BigDecimal" Kolon = "REMISE" uzunluk = "19" > Remise du müşteri @ hibernate.property Kolon = "REMISE" uzunluk = "19" = "Ca" adı type = "java.math.BigDecimal" Kolon = "CA" uzunluk = "19" > Chiffre Affaire Birincil anahtar etiketinde tanımlanmıştır: örneğimizde, bir diziye dayanmaktadır. Etiketi kullanarak bir bileşik anahtar tanımlamak mümkündür: Kompozit-id> Aşağıdaki örnek, Hazırda Bekleme oturumunun saveOrUpdate () yöntemini kullanır. org.hibernate.Session sess = sessFact.openSession (); Müşteri c = yeni Müşteri (); c.setName ( "John"); p.setTitre ( "Bay"); İşlem tx = sess.beginTransaction (); sess.saveOrUpdate (p); tx.commit (); sess.close ();