11/08/2018, 18:30

Hibernate – File cấu hình XML

Môi trường Hibernate Hibernate yêu cầu phải thiết định thông tin các để lớp Java ánh xạ đến các bảng cơ sở dữ liệu. Hibernate cũng yêu cầu một tập hợp các thiết lập cấu hình liên quan đến cơ sở dữ liệu và các tham số liên quan khác. Tất cả các thông tin như vậy thường được cung cấp ...

Môi trường Hibernate

Hibernate yêu cầu phải thiết định thông tin các để lớp Java ánh xạ đến các bảng cơ sở dữ liệu. Hibernate cũng yêu cầu một tập hợp các thiết lập cấu hình liên quan đến cơ sở dữ liệu và các tham số liên quan khác. Tất cả các thông tin như vậy thường được cung cấp dưới dạng file thuộc tính Java tiêu chuẩn có tên gọi là hibernate.properties, hoặc dưới dạng file XML có tên hibernate.cfg.xml.

Chúng ta sử dụng file XML hibernate.cfg.xml để chỉ định các thuộc tính Hibernate bắt buộc trong các ví dụ trong các bài học Hibernate. Hầu hết các thuộc tính lấy giá trị mặc định của chúng và không bắt buộc phải chỉ định chúng trong file properties trừ khi nó thực sự là bắt buộc. Tập tin này được lưu trong thư mục gốc của ứng dụng.

Các thuộc tính Hibernate

Dưới đây là danh sách các thuộc tính quan trọng mà bạn sẽ cần để cấu hình cho một cơ sở dữ liệu trong một trường hợp standalone:

No. Các thuộc tính và mô tả
1hibernate.dialect
Thuộc tính này làm cho Hibernate tạo ra SQL thích hợp cho cơ sở dữ liệu đã chọn.
2 hibernate.connection.driver_class

JDBC driver class.

3 hibernate.connection.url

JDBC URL của cơ sở dữ liệu.

4 hibernate.connection.username

username của cơ sở dữ liệu.

5 hibernate.connection.password

password của cơ sở dữ liệu.

6 hibernate.connection.pool_size

Giới hạn số kết nối đang chờ trong pool kết nối cơ sở dữ liệu Hibernate.

7 hibernate.connection.autocommit

Cho phép chế độ autocommit để được sử dụng cho JDBC connection.

Nếu bạn đang sử dụng một cơ sở dữ liệu cùng với một máy chủ ứng dụng và JNDI thì bạn phải cấu hình các thuộc tính sau:

No. Các thuộc tính và mô tả
1 hibernate.connection.datasource

Tên JNDI được định nghĩa trong ngữ cảnh máy chủ ứng dụng mà bạn đang sử dụng cho ứng dụng.

2 hibernate.jndi.class

Lớp InitialContext cho JNDI.

3 hibernate.jndi.<JNDIpropertyname>

Truyền bất kỳ thuộc tính JNDI bạn thích tới JNDI InitialContext.

4 hibernate.jndi.url

Cung cấp URL cho JNDI.

5 hibernate.connection.username

username của cơ sở dữ liệu.

6 hibernate.connection.password

password của cơ sở dữ liệu.

Hibernate với MySQL Database:

MySQL là một trong những hệ thống cơ sở dữ liệu mã nguồn mở phổ biến nhất hiện nay. Chúng ta hãy tạo file cấu hình hibernate.cfg.xml và đặt nó vào thư mục gốc ứng dụng. Bạn sẽ phải chắc chắn rằng bạn có cơ sở dữ liệu testdb có sẵn trong cơ sở dữ liệu MySQL của bạn.

Tệp cấu hình XML phải phù hợp với DTD cấu hình Hibernate 3, có sẵn ở đây http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd.

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration SYSTEM 
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
   <session-factory>
   <property name="hibernate.dialect">
      org.hibernate.dialect.MySQLDialect
   </property>
   <property name="hibernate.connection.driver_class">
      com.mysql.jdbc.Driver
   </property>

    
   <property name="hibernate.connection.url">
      jdbc:mysql://localhost/testdb
   </property>
   <property name="hibernate.connection.username">
      root
   </property>
   <property name="hibernate.connection.password">
      1234567890
   </property>

    
   <mapping resource="Employee.hbm.xml"/>

</session-factory>
</hibernate-configuration>

Các tập tin cấu hình trên đây bao gồm các thẻ <mapping> có liên quan đến file hibernate mapping và chúng ta sẽ tìm hiểu trong bài sau. Sau đây là danh sách các kiểu của cơ sở dữ liệu quan trọng khác:

Database Dialect Property
DB2 org.hibernate.dialect.DB2Dialect
HSQLDB org.hibernate.dialect.HSQLDialect
HypersonicSQL org.hibernate.dialect.HSQLDialect
Informix org.hibernate.dialect.InformixDialect
Ingres org.hibernate.dialect.IngresDialect
Interbase org.hibernate.dialect.InterbaseDialect
Microsoft SQL Server 2000 org.hibernate.dialect.SQLServerDialect
Microsoft SQL Server 2005 org.hibernate.dialect.SQLServer2005Dialect
Microsoft SQL Server 2008 org.hibernate.dialect.SQLServer2008Dialect
MySQL org.hibernate.dialect.MySQLDialect
Oracle (any version) org.hibernate.dialect.OracleDialect
Oracle 11g org.hibernate.dialect.Oracle10gDialect
Oracle 10g org.hibernate.dialect.Oracle10gDialect
Oracle 9i org.hibernate.dialect.Oracle9iDialect
PostgreSQL org.hibernate.dialect.PostgreSQLDialect
Progress org.hibernate.dialect.ProgressDialect
SAP DB org.hibernate.dialect.SAPDBDialect
Sybase org.hibernate.dialect.SybaseDialect
Sybase Anywhere org.hibernate.dialect.SybaseAnywhereDialect
Bài tiếp theo: File mapping trong Hibernate
Môi trường Hibernate
0