Hibernace (část 2): konfigurace a použití
Konfigurace režimu spánku v aplikaci Java
- Nainstalujte JDK 1.4 nebo JDK 1.5.
- Stáhněte si verzi 3 z webu hibernate.org
- Odkaz na sklenice Hibernate v classpath.
- Definujte konfigurační soubor režimu spánku (hibernate.cfg.xml):
Tento soubor musí být umístěn v adresáři obsahujícím zdrojový kód aplikace JAVA (doporučeno).
Níže je uveden příklad souboru hibernate.cfg.xml s nezbytnými komentáři:
PUBLIC "- // Hibernate / Hibernate Konfigurace 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
skutečný
skutečný
skutečný
1
Nepravdivé
50
skutečný
org.hibernate.connection.C3P0ConnectionProvider
3
180
100
10
1000
org.hibernate.cache.NoCacheProvider
Definujte soubory mapování hbm:
Toto je sada souborů, která umožňuje mapování mezi databází entity a přidruženými objekty JAVA.
Úplné cesty všech mapovacích souborů hbm jsou popsány v konfiguračním souboru (hibernate.cfg.xml).
Použití režimu spánku v aplikaci Java:
V tomto příkladu použijeme konfigurační soubor režimu spánku:
- Prohlášení tabulky (Oracle)
CREATE TABLE CLIENT
(
ID_Client NUMBER (10) NOT NULL,
TITRE VARCHAR2 (10),
NOM VARCHAR2 (30),
ČÍSLO REMISE (19, 5),
CA ČÍSLO (19, 5),
CONSTRAINT PK_CLIENT PRIMARY KEY (CLIENT_ID)
);
- Prohlášení tříd JAVA
/ ** constructeur par défaut * /
public Client () {
}
/ ** Constructeur complete ** /
public Client (Long clientId, String titre, String nom, BigDecimal remise, BigDecimal ca)
{
this.idClient = idClient;
this.titre = titr;
this.name = jméno;
this.remise = remise;
this.ca = ca;
}
/ ** Les getters et setters ** /
public Dlouhý getIdClient ()
{
return this.clientId;
}
public void setIdClient (Dlouhý klientId) {
this.clientId = clientId;
}
public String getTitre () {
vrátit tento.titre;
}
public void setTitre (String titre) {
this.titre = titr;
}
public String getNom () {
return this.nom;
}
public void setNom (String nom) {
this.nom = nom;
}
public BigDecimal getRemise () {
vrátit se.
}
public void setRemise (remise BigDecimal) {
this.remise = remise;
}
veřejnost BigDecimal getCa () {
return this.ca;
}
public void setCa (BigDecimal ca) {
this.ca = ca;
}
}
- Mapovací soubory Client.hbm.xml:
"- // Hibernate / Hibernate Mapping DTD 3.0 // EN"
"//hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
name = "[Nom_Package] .Client" table = "KLIENT" entity-name = "Klient" > @ hibernate.class table = "KLIENT" name = "idClient" type = "java.lang.Long" column = "ID_CLIENT" > Id du klient @ hibernate.id generator-class = "přiřazeno" type = "java.lang.Long" column = "CLIENT_ID" name = "titre" type = "java.lang.String" column = "TITRE" length = "10" > Titre du client @ hibernate.property column = "TITRE" length = "10" name = "name" type = "java.lang.String" column = "NAME" length = "30" > Nom du client @ hibernate.property column = "NAME" length = "30" name = "remise" type = "java.math.BigDecimal" column = "REMISE" length = "19" > Opravte klienta @ hibernate.property column = "REMISE" length = "19" name = "ca" type = "java.math.BigDecimal" column = "CA" length = "19" > Chiffre Affaire Primární klíč je definován v tagu: v našem příkladu je založen na sekvenci. Pomocí značky lze definovat složený klíč: složené-id> Níže uvedený příklad používá metodu saveOrUpdate () hibernace. org.hibernate.Session sess = sessFact.openSession (); Klient c = nový klient (); c.setName ("John"); p.setTitre ("Mr"); Transakce tx = sess.beginTransaction (); sess.saveOrUpdate (p); tx.commit (); sess.close ();