Hibernate - Cấu hình

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

Tôi sẽ xem xét tệp định dạng XML hibernate.cfg.xmlđể chỉ định các thuộc tính Hibernate bắt buộc trong các ví dụ của tôi. 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 tệp thuộc tính trừ khi nó thực sự được yêu cầu. Tệp này được giữ trong thư mục gốc của classpath của ứng dụng của bạn.

Thuộc tính Hibernate

Sau đây là danh sách các thuộc tính quan trọng, bạn sẽ được yêu cầu cấu hình cho cơ sở dữ liệu trong tình huống độc lập -

Sr.No. Thuộc tính & Mô tả
1

hibernate.dialect

Thuộc tính này làm cho Hibernate tạo SQL thích hợp cho cơ sở dữ liệu đã chọn.

2

hibernate.connection.driver_class

Lớp trình điều khiển JDBC.

3

hibernate.connection.url

URL JDBC đến phiên bản cơ sở dữ liệu.

4

hibernate.connection.username

Tên người dùng cơ sở dữ liệu.

5

hibernate.connection.password

Mật khẩu cơ sở dữ liệu.

6

hibernate.connection.pool_size

Giới hạn số lượng kết nối đang chờ trong nhóm kết nối cơ sở dữ liệu Hibernate.

7

hibernate.connection.autocommit

Cho phép chế độ tự động gửi được sử dụng cho kết nối JDBC.

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

Sr.No. Thuộc tính & Mô tả
1

hibernate.connection.datasource

Tên JNDI được xác định 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>

Chuyển bất kỳ thuộc tính JNDI nào bạn thích vào JNDI InitialContext .

4

hibernate.jndi.url

Cung cấp URL cho JNDI.

5

hibernate.connection.username

Tên người dùng cơ sở dữ liệu.

6

hibernate.connection.password

Mật khẩu cơ sở dữ liệu.

Ngủ đông với Cơ sở dữ liệu MySQL

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. Hãy để chúng tôi tạo rahibernate.cfg.xmltệp cấu hình và đặt nó vào thư mục gốc của classpath của ứng dụng của bạn. Bạn sẽ phải đảm bảo rằng bạn cótestdb cơ sở dữ liệu có sẵn trong cơ sở dữ liệu MySQL của bạn và bạn có một người dùng test có sẵn để truy cập cơ sở dữ liệu.

Tệp cấu hình XML phải tuân theo DTD Cấu hình Hibernate 3, có sẵn tại 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>
      
      <!-- Assume test is the database name -->
      
      <property name = "hibernate.connection.url">
         jdbc:mysql://localhost/test
      </property>
      
      <property name = "hibernate.connection.username">
         root
      </property>
      
      <property name = "hibernate.connection.password">
         root123
      </property>
      
      <!-- List of XML mapping files -->
      <mapping resource = "Employee.hbm.xml"/>
      
   </session-factory>
</hibernate-configuration>

Tệp cấu hình trên bao gồm <mapping> , liên quan đến tệp ánh xạ ngủ đông và chúng ta sẽ xem trong chương tiếp theo chính xác tệp ánh xạ ngủ đông là gì và cách thức và lý do chúng ta sử dụng nó?

Sau đây là danh sách các cơ sở dữ liệu quan trọng kiểu thuộc tính phương ngữ -

Sr.No. Thuộc tính Cơ sở dữ liệu & Phương ngữ
1

DB2

org.hibernate.dialect.DB2Dialect

2

HSQLDB

org.hibernate.dialect.HSQLDialect

3

HypersonicSQL

org.hibernate.dialect.HSQLDialect

4

Informix

org.hibernate.dialect.InformixDialect

5

Ingres

org.hibernate.dialect.IngresDialect

6

Interbase

org.hibernate.dialect.InterbaseDialect

7

Microsoft SQL Server 2000

org.hibernate.dialect.SQLServerDialect

số 8

Microsoft SQL Server 2005

org.hibernate.dialect.SQLServer2005Dialect

9

Microsoft SQL Server 2008

org.hibernate.dialect.SQLServer2008Dialect

10

MySQL

org.hibernate.dialect.MySQLDialect

11

Oracle (any version)

org.hibernate.dialect.OracleDialect

12

Oracle 11g

org.hibernate.dialect.Oracle10gDialect

13

Oracle 10g

org.hibernate.dialect.Oracle10gDialect

14

Oracle 9i

org.hibernate.dialect.Oracle9iDialect

15

PostgreSQL

org.hibernate.dialect.PostgreSQLDialect

16

Progress

org.hibernate.dialect.ProgressDialect

17

SAP DB

org.hibernate.dialect.SAPDBDialect

18

Sybase

org.hibernate.dialect.SybaseDialect

19

Sybase Anywhere

org.hibernate.dialect.SybaseAnywhereDialect