Хибернация (част 2): конфигуриране и използване

Хибридна конфигурация в Java приложение

  • Инсталирайте JDK 1.4 или JDK 1.5.
  • Изтеглете версия 3 от hibernate.org
  • Отнесете се към бункерите за хибернация в класа.
  • Определете конфигурационния файл за хибернация (hibernate.cfg.xml):

Този файл трябва да бъде поставен в директорията, съдържаща изходния код на приложението JAVA (препоръчително).

По-долу е даден пример на файл hibernate.cfg.xml с необходимите коментари:

PUBLIC "- // DTD // Hibernate / Hibernate Configuration

"[//Hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

JDBC: Oracle: тънък: @dbServer: 1521: db

oracle.jdbc.OracleDriver

org.hibernate.dialect.Oracle9Dialect

dbusername

dbpassword

вярно

вярно

вярно

1

фалшив

50

вярно

org.hibernate.connection.C3P0ConnectionProvider

3

180

100

10

1000

org.hibernate.cache.NoCacheProvider

Определете файловете за картографиране на hbm:

Това е набор от файлове, които правят картографиране между базата данни на обектите и асоциираните JAVA обекти.

Пълните пътища на всички файлове за картографиране на hbm са описани в конфигурационния файл (hibernate.cfg.xml).

Използване на хибернация в Java приложение:

В този пример ще използваме конфигурационния файл за хибернация:

  • Декларация на таблицата (Oracle)

CREATE TABLE CLIENT

(

ID_Client NUMBER (10) НЕ NULL,

TITRE VARCHAR2 (10),

NOM VARCHAR2 (30),

ОСЪЗНАВА НОМЕР (19, 5),

CA NUMBER (19, 5),

CONSTRAINT PK_CLIENT PRIMARY KEY (CLIENT_ID)

);

  • Декларация за класове JAVA

/ ** конструкт

обществен клиент () {

}

/ ** Конструкция ** /

публичен клиент (дълъг клиент Ид, Титър на низове, Номен ред, BigDecimal remise, BigDecimal ca)

{

this.idClient = idClient;

this.titre = титър;

this.name = име;

this.remise = премахване;

this.ca = ca;

}

/ ** Les getters et setters ** /

обществен Long getIdClient ()

{

return this.clientId;

}

public void setIdClient (дълъг клиент ИД) {

this.clientId = clientId;

}

public String getTitre () {

връщане на този.

}

public void setTitre (Титър на редове) {

this.titre = титър;

}

public String getNom () {

return this.nom;

}

public void setNom (Номен ред)

this.nom = nom;

}

публичен BigDecimal getRemise () {

връщане на това.

}

public void setRemise (премахване на BigDecimal) {

this.remise = премахване;

}

публичен BigDecimal getCa () {

return this.ca;

}

public void setCa (BigDecimal ca)

this.ca = ca;

}

}

  • Файлове за картографиране на Client.hbm.xml:

"- // DTM 3.0 Hibernate / Hibernate Mapping

"//hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

име = "[Nom_Package] .Client"

маса = "клиент"

име на етикета = "Клиент"

>

@ hibernate.class

маса = "клиент"

име = "idClient"

тип = "java.lang.Long"

Колона = "ID_CLIENT"

>

Id client

@ hibernate.id

Генератор клас = "целеви"

тип = "java.lang.Long"

Колона = "CLIENT_ID"

име = "титър"

тип = "java.lang.String"

Колона = "титър"

дължина = "10"

>

Наименование на клиента

@ hibernate.property

Колона = "титър"

дължина = "10"

име = "име"

тип = "java.lang.String"

Колона = "NAME"

дължина = "30"

>

Nom du client

@ hibernate.property

Колона = "NAME"

дължина = "30"

име = "отстъпване"

тип = "java.math.BigDecimal"

Колона = "Remise"

дължина = "19"

>

Преустановете клиента

@ hibernate.property

Колона = "Remise"

дължина = "19"

име = "ва"

тип = "java.math.BigDecimal"

Колона = "СА"

дължина = "19"

>

Chiffre Affaire

Първичният ключ е дефиниран в маркера: в нашия пример той се основава на последователност. Възможно е да се дефинира комбиниран ключ, използвайки маркера:

композитен ID>

  • Запазване на нов обект в базата данни:

Примерът по-долу използва метода saveOrUpdate () на сесията за хибернация.

 org.hibernate.Session sess = sessFact.openSession (); Клиент c = нов Клиент (); c.setName ( "John"); p.setTitre ( "Г-н"); Транзакция tx = sess.beginTransaction (); sess.saveOrUpdate (р); tx.commit (); sess.close (); 
Предишна Статия Следваща Статия

Топ Съвети