<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- c3p0数据库连接池配置 -->
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.max_size">30</property>
<!-- 获取连接的超时时间,单位毫秒 -->
<property name="hibernate.c3p0.time_out">1800</property>
<!-- 最大的preparedStatement数量 -->
<property name="hibernate.c3p0.max_statements">50</property>
<!-- 每隔多少秒检查连接池里的空闲连接 -->
<property name="hibernate.c3p0.idle_test_period">120</property>
<!-- 当池中的连接耗尽的时候,一次性增加的连接数量,默认为3 -->
<property name="hibernate.c3p0.acquire_increment">3</property>
<!-- 每次都验证连接是否可用 -->
<property name="hiberate.c3p0.validate">true</property>
<!-- 最大空闲时间多少秒内未使用则连接被丢弃,若为0则永不丢弃 -->
<property name="hibernate.c3p0.maxIdleTime">25000</property>
<!-- 程序执行的时候是否显示真正的sql语句 -->
<property name="show_sql">true</property>
<!-- ANSI SQL-99 标准定义了下列隔离级别:
Hibernate 在配置文件中声明事务的隔离级别,Hibenate 获取数据库连接后,将根据隔离级别自动设置数据库连接为指定的事务隔离级别。
<property name="connection.isolation">8</property>
● 未提交读(Read Uncommitted):隔离事务的最低级别,只能保证不会读取到物理上损坏的数据。Hibernate配置:1;允许产生:1,2,3
● 已提交读(Read Committed):常见数据库引擎的默认级别,保证一个事务不会读取到另一个事务已修改但未提交的数据。Hibernate配置:2;允许产生:1,2
● 可重复读(Repeatable Read):保证一个事务不能更新已经由另一个事务读取但是未提交的数据。相当于应用中的已提交读和乐观并发控制。Hibernate配置:4;允许产生:1
● 可串行化(Serializable):隔离事务的最高级别,事务之间完全隔离。系统开销最大。Hibernate配置:8;这种情况很容易造成死锁的问题,hibernate表现为:
Deadlock found when trying to get lock; try restarting transaction -->
<property name="connection.isolation">2</property>
<!-- 数据库连接url
<property name="connection url">
jdbc:mysql://125.216.247.15:3306/test
</property>-->
<!-- 使用的SQL对应的“方言”,此处是MySQL的方言 -->
<property name="dialect">util.MyMySQLDialect</property>
<!-- 用户名 -->
<property name="connection.username">root</property>
<!-- 密码 -->
<property name="connection.password">******</property>
<!-- 连接数据库的Driver -->
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<!-- 指定了根据实体配置文件来自动生成表
create:表示启动的时候先drop,再create
create-drop: 也表示创建,只不过再系统关闭前执行一下drop
update: 这个操作启动的时候会去检查schema是否一致,如果不一致会做scheme更新
validate: 启动时验证现有schema与你配置的hibernate是否一致,如果不一致就抛出异常,并不做更新-->
<!-- 指定了关联的所有实体配置文件,其中包括:create/create-drop/update/validate四种可选方式 -->
<property name="myeclipse.connection.profile">
mysqlConnector
</property>
<property name="connection.url">
jdbc:mysql://localhost:3306/wlw?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true
</property>
<mapping resource="beans/Order.hbm.xml" />
<mapping resource="beans/Storageout.hbm.xml" />
<mapping resource="beans/Storagein.hbm.xml" />
<mapping resource="beans/Checkstorageout.hbm.xml" />
<mapping resource="beans/Admin.hbm.xml" />
<mapping resource="beans/Productin.hbm.xml" />
<mapping resource="beans/Judger.hbm.xml" />
<mapping resource="beans/Gps.hbm.xml" />
<mapping resource="beans/Buy0.hbm.xml" />
<mapping resource="beans/Tutor.hbm.xml" />
<mapping resource="beans/Storageproduct.hbm.xml" />
<mapping resource="beans/Family.hbm.xml" />
<mapping resource="beans/Gameinfor.hbm.xml" />
<mapping resource="beans/Producttype.hbm.xml" />
<mapping resource="beans/Department.hbm.xml" />
<mapping resource="beans/Driver.hbm.xml" />
<mapping resource="beans/Product.hbm.xml" />
<mapping resource="beans/Productout.hbm.xml" />
<mapping resource="beans/Checkstoragein.hbm.xml" />
<mapping resource="beans/Charger.hbm.xml" />
<mapping resource="beans/Sport.hbm.xml" />
<mapping resource="beans/Supply.hbm.xml" />
<mapping resource="beans/Gym.hbm.xml" />
<mapping resource="beans/Media.hbm.xml" />
<mapping resource="beans/Player.hbm.xml" />
<mapping resource="beans/Car.hbm.xml" />
<mapping resource="beans/Storage.hbm.xml" />
<mapping resource="beans/Entrust.hbm.xml" />
<mapping resource="beans/Departmentman.hbm.xml" />
<mapping resource="beans/Buy.hbm.xml" />
<mapping resource="beans/Waybill.hbm.xml" />
<mapping resource="beans/Entrustproduct.hbm.xml" />
<mapping resource="beans/Logistic.hbm.xml" />
</session-factory>
</hibernate-configuration>