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       :如果没有表,不会创建表。只会使用数据库中原有的表。(校验映射和表结构)。
                              例如:如果属性错误,测试会报错
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章