<?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>
<!-- Database connection settings -->
<property name="connection.driver_class"
>com.mysql.jdbc.Driver</property>
<property name="connection.url"
>jdbc:mysql://192.168.1.241:3306/test</property>
<property name="connection.username"
>dingyuming</property>
<property name="connection.password"
>uniware</property>
<!-- JDBC connection pool (use the built-in) -->
<!-- <property name="connection.pool_size"
>1</property>-->
<!-- SQL dialect -->
<property name="dialect"
>org.hibernate.dialect.MySQLDialect</property>
<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class"
>thread</property>
<!-- Disable the second-level cache -->
<property name="cache.provider_class"
>org.hibernate.cache.NoCacheProvider</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql"
>true</property>
<!-- Drop and re-create the database schema on startup -->
<!-- <property name="hbm2ddl.auto"
>update</property>-->
<mapping resource="com/hibernate/test/hibernate_IP.xml"/>
<mapping class="com.hibernate.test.Student"/>
</session-factory>
</hibernate-configuration
>
上一节配置了基本的hibernate
这次介绍一下配置文件
配置基本的jdbc连接
<!-- Database connection settings -->
<property name="connection.driver_class"
>com.mysql.jdbc.Driver</property>
<property name="connection.url"
>jdbc:mysql://192.168.1.241:3306/test</property>
<property name="connection.username"
>dingyuming</property>
<property name="connection.password"
>uniware</property>
配置对应的数据库的“方言” 即按照该数据的sql语句来生成sql对象
<!-- SQL dialect -->
<property name="dialect"
>org.hibernate.dialect.MySQLDialect</property>
显示执行的sql语句
<!-- Echo all executed SQL to stdout -->
<property name="show_sql"
>true</property>
hbm2ddl.auto四种标记
1.create 根据映射对象在数据库中创建表
2.update 对象改变之后 同时改变数据库中的表
3.create-drop sessionFactory关闭时删掉数据库
4.validate 对数据库中的表与映射对象做对比
<!-- Drop and re-create the database schema on startup -->
<!-- <property name="hbm2ddl.auto"
>update</property>-->
格式化显示sql语句
<property name="format_sql">true</property>
Session上下文,通过配置session上下文来获取当前的session
主要取值thread 从当前线程中获取;
jta 通常用于分布式系统:jta通常需要数据库支持:事务状况:数据有可能部署于不同的数据库,但是提交事务时,我们一般的事务管理做不到,这时候需要用到jta(java transaction api) 将事务交由transaction manager进行管理。
<property name="current_session_context_class"
>thread</property>