Ruhezustand (Teil 2): Konfiguration und Verwendung
Konfiguration im Ruhezustand in einer Java-Anwendung
- Installieren Sie JDK 1.4 oder JDK 1.5.
- Laden Sie Version 3 von hibernate.org herunter
- Verweisen Sie auf die Hibernate-Gläser im Klassenpfad.
- Definieren Sie die Hibernate-Konfigurationsdatei (hibernate.cfg.xml):
Diese Datei muss in dem Verzeichnis abgelegt werden, das den Quellcode der Java-Anwendung enthält (empfohlen).
Unten sehen Sie ein Beispiel für die Datei hibernate.cfg.xml mit den erforderlichen Kommentaren:
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
wahr
wahr
wahr
1
falsch
50
wahr
org.hibernate.connection.C3P0ConnectionProvider
3
180
100
10
1000
org.hibernate.cache.NoCacheProvider
Definieren Sie die hbm-Zuordnungsdateien:
Hierbei handelt es sich um eine Reihe von Dateien, die die Zuordnung zwischen der Entitätsdatenbank und den zugeordneten JAVA-Objekten vornehmen.
Die vollständigen Pfade aller hbm-Zuordnungsdateien sind in der Konfigurationsdatei (hibernate.cfg.xml) beschrieben.
Verwenden des Ruhezustands in einer Java-Anwendung:
In diesem Beispiel verwenden wir die Hibernate-Konfigurationsdatei:
- Deklaration der Tabelle (Oracle)
CREATE TABLE CLIENT
(
ID_Client NUMBER (10) NICHT NULL,
TITRE VARCHAR2 (10),
NOM VARCHAR2 (30),
REMISE NUMBER (19, 5),
CA-NUMMER (19, 5),
CONSTRAINT PK_CLIENT PRIMARY KEY (CLIENT_ID)
);
- Deklaration von JAVA-Klassen
/ ** Konstrukteur par défaut * /
öffentlicher Kunde () {
}
/ ** Constructeur complet ** /
public Client (Long clientId, String titre, String nom, BigDecimal remise, BigDecimal ca)
{
this.idClient = idClient;
this.titre = titre;
this.name = name;
this.remise = remise;
this.ca = ca;
}
/ ** Les getters et setters ** /
public Long getIdClient ()
{
return this.clientId;
}
public void setIdClient (Long clientId) {
this.clientId = clientId;
}
public String getTitre () {
return this.titre;
}
public void setTitre (String titre) {
this.titre = titre;
}
public String getNom () {
gib dies zurück.
}
public void setNom (String nom) {
this.nom = nom;
}
public BigDecimal getRemise () {
gib dies zurück.
}
public void setRemise (BigDecimal remise) {
this.remise = remise;
}
public BigDecimal getCa () {
return this.ca;
}
public void setCa (BigDecimal ca) {
this.ca = ca;
}
}
- Zuordnungsdateien für Client.hbm.xml:
"- // Hibernate / Hibernate Mapping DTD 3.0 // EN"
"//hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
name = "[Nom_Package] .Client" table = "CLIENT" entity-name = "Client" > @ hibernate.class table = "CLIENT" name = "idClient" type = "java.lang.Long" column = "ID_CLIENT" > ID du Client @ hibernate.id generator-class = "zugewiesen" type = "java.lang.Long" column = "CLIENT_ID" name = "titre" type = "java.lang.String" column = "TITRE" Länge = "10" > Titel des Kunden @ hibernate.property column = "TITRE" Länge = "10" name = "name" type = "java.lang.String" column = "NAME" Länge = "30" > Nom du client @ hibernate.property column = "NAME" Länge = "30" name = "remise" type = "java.math.BigDecimal" column = "REMISE" Länge = "19" > Remise du client @ hibernate.property column = "REMISE" Länge = "19" name = "ca" type = "java.math.BigDecimal" column = "CA" Länge = "19" > Chiffre Affaire Der Primärschlüssel ist im Tag definiert: In unserem Beispiel basiert er auf einer Sequenz. Es ist möglich, einen zusammengesetzten Schlüssel mit dem Tag zu definieren: Composite-ID> Im folgenden Beispiel wird die saveOrUpdate () -Methode der Hibernate-Sitzung verwendet. org.hibernate.Session sess = sessFact.openSession (); Client c = neuer Client (); c.setName ("John"); p.setTitre ("Mr"); Transaktion tx = sess.beginTransaction (); sess.saveOrUpdate (p); tx.commit (); sess.close ();