Hibernate核心配置hibernate.cg.xml詳解

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
	<!--核心配置-->
	<session-factory>
		<!--連接數據庫配置-->
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="hibernate.connection.url">jdbc:mysql:///hibernate</property>
		<property name="hibernate.connection.username">root</property>
		<property name="hibernate.connection.password">0000</property>
		<!-- 配置Hibernate的方言 -->
		<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
		<!-- 可選配置================ -->
		<!-- 打印SQL -->
		<property name="hibernate.show_sql">true</property>
		<!-- 格式化SQL -->
		<property name="hibernate.format_sql">true</property>
		<!-- 自動創建表 -->
		<property name="hibernate.hbm2ddl.auto">update</property>
		<!--引入配置文件-->
		<mapping resource="com/jjxy/hibernate/Customer.hbm.xml"/>
	</session-factory>
</hibernate-configuration>

常用的配置屬性

屬性名稱 屬性和描述
hibernate.dialect  數據庫方言設置
hibernate.connection.driver_class 連接數據驅動程序
hibernate.connection.url  數據庫實例的 JDBC URL。
hibernate.connection.username 數據庫用戶名。
hibernate.connection.password  數據庫密碼。
hibernate.connection.show_sql                           控制檯輸出SQL語句
hibernate.connection.format_sql 格式化控制檯輸出SQL語句
hibernate.hbm2ddl.auto 自動創建|更新|驗證數據庫表結構、參數有validate、update、create、create-drop
hibernate.connection.autocommit  事務是否自動提交模式。
hibernate.connection.isolation

設置事務隔離級別.取值爲 1、2、4、8

1 : READ_UNCOMMITED 讀取未提交,它引發所有的隔離問題

2 : READ_COMMITTED 讀取已提交,阻止髒讀,可能發生不可重複讀與虛讀

4 : REPEATABLE_READ 重複讀,阻止髒讀,不可重複讀,可能發生虛讀

8 : SERIALIZABLE 串行化,解決所有問題,不允許兩個事務,同時操作一個目標數據。(效率低)

ORACLE 默認的事務隔離級別是READ_COMMITTED

MYSQL 默認的事務隔離級別是REPEATABLE_READ

hibernate.hbm2ddl.auto參數解析 :

   none          :不使用hibernate的自動建表
  create         :如果數據庫中已經有表,刪除原有表,重新創建,如果沒有表,新建表。(測試)
  create-drop    :如果數據庫中已經有表,刪除原有表,執行操作,刪除這個表。如果沒有表,新建一個,使用完了刪除該表。(測試)
  update         :如果數據庫中有表,使用原有表,如果沒有表,創建新表(更新表結構)
                                例如:更改表中的字段的名,會添加新的一個屬性
  validate       :如果沒有表,不會創建表。只會使用數據庫中原有的表。(校驗映射和表結構)。
                              例如:如果屬性錯誤,測試會報錯
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章