Hibernate (Phần 2): cấu hình và sử dụng

Cấu hình ngủ đông trong một ứng dụng Java

  • Cài đặt JDK 1.4 hoặc JDK 1.5.
  • Tải xuống phiên bản 3 từ hibernate.org
  • Tham khảo các lọ Hibernate trong classpath.
  • Xác định tệp cấu hình Hibernate (hibernate.cfg.xml):

Tập tin này phải được đặt trong thư mục chứa mã nguồn của ứng dụng JAVA (được khuyến nghị).

Dưới đây là một ví dụ về tệp hibernate.cfg.xml với các nhận xét cần thiết:

PUBLIC "- // Cấu hình Hibernate / Hibernate DTD // EN"

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

jdbc: oracle: thin: @dbServer: 1521: db

oracle.jdbc.OracleDriver

org.hibernate.dialect.Oracle9Dialect

tên người dùng

mật khẩu

thật

thật

thật

1

sai

50

thật

org.hibernate.connection.C3P0ConnectionProvider

3

180

100

10

1000

org.hibernate.cache.NoCacheProvider

Xác định các tệp ánh xạ hbm:

Đây là một tập hợp các tệp tạo ánh xạ giữa cơ sở dữ liệu thực thể và các đối tượng JAVA liên quan.

Đường dẫn đầy đủ của tất cả các tệp ánh xạ hbm được mô tả trong tệp cấu hình (hibernate.cfg.xml).

Sử dụng Hibernate trong ứng dụng Java:

Trong ví dụ này, chúng tôi sẽ sử dụng tệp cấu hình Hibernate:

  • Tuyên bố của bảng (Oracle)

TẠO BẢNG KHÁCH HÀNG

(

ID_Client SỐ (10) KHÔNG NULL,

TITRE VARCHAR2 (10),

NOM VARCHAR2 (30),

SỐ NHỚ (19, 5),

SỐ CA (19, 5),

CONSTRAINT PK_CLIENT KHÓA CHÍNH (CLIENT_ID)

);

  • Tuyên bố các lớp JAVA

/ ** constructeur par défaut * /

Khách hàng công cộng () {

}

/ ** Xây dựng hoàn thành ** /

Máy khách công cộng (Long clientId, String Titre, String nom, BigDecimal remise, BigDecimal ca)

{

this .idClient = idClient;

this.titre = Titre;

this .name = name;

this .remise = remise;

này.ca = ca;

}

/ ** Les getters et setters ** /

công khai getIdClient ()

{

trả lại cái này.clientId;

}

công khai void setIdClient (Long clientId) {

this .clientId = clientId;

}

chuỗi công khai getTitre () {

trả lại cái này.titre;

}

công khai void setTitre (Chuỗi hiệu giá) {

this.titre = Titre;

}

chuỗi công khai getNom () {

trả lại cái này.nom;

}

công khai void setNom (Chuỗi nom) {

this .nom = nom;

}

công khai BigDecimal getRemise () {

trả lại cái này

}

void void setRemise (BigDecimal remise) {

this .remise = remise;

}

công khai BigDecimal getCa () {

trả lại cái này.ca;

}

void void setCa (BigDecimal ca) {

này.ca = ca;

}

}

  • Các tệp ánh xạ Client.hbm.xml:

"- // Hibernate / Hibernate Ánh xạ DTD 3.0 // EN"

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

tên = "[Nom_Package] .Client"

bảng = "KHÁCH HÀNG"

tên thực thể = "Khách hàng"

>

@ hibernate. class

bảng = "KHÁCH HÀNG"

tên = "idClient"

loại = "java.lang.Long"

cột = "ID_CLIENT"

>

Id du khách

@ hibernate.id

trình tạo lớp = "được gán"

loại = "java.lang.Long"

cột = "CLIENT_ID"

tên = "hiệu giá"

loại = "java.lang.String"

cột = "TITRE"

chiều dài = "10"

>

Khách hàng

@ hibernate.property

cột = "TITRE"

chiều dài = "10"

tên = "tên"

loại = "java.lang.String"

cột = "TÊN"

chiều dài = "30"

>

Khách du lịch

@ hibernate.property

cột = "TÊN"

chiều dài = "30"

tên = "sửa chữa"

loại = "java.math.BigDecimal"

cột = "NHỚ"

chiều dài = "19"

>

Remise du khách

@ hibernate.property

cột = "NHỚ"

chiều dài = "19"

tên = "ca"

loại = "java.math.BigDecimal"

cột = "CA"

chiều dài = "19"

>

Chiffre

Khóa chính được xác định trong thẻ: trong ví dụ của chúng tôi, nó dựa trên một chuỗi. Có thể xác định khóa tổng hợp bằng thẻ:

id tổng hợp>

  • Lưu một đối tượng mới trong cơ sở dữ liệu:

Ví dụ dưới đây sử dụng phương thức saveOrUpdate () của phiên Hibernate.

 org.hibernate.Session sess = sessFact.openSession (); Khách hàng c = Khách hàng mới (); c.setName ("John"); p.setTitre ("Mr"); Giao dịch tx = sess.beginTransaction (); sess.saveOrUpdate (p); tx.commit (); sess.c Đóng (); 
Bài TrướC TiếP Theo Bài ViếT

Lên Trên LờI Khuyên