<!-- 必须的配置 -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123456</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<!-- 非必须的配置项 -->
<property name="hibernate.show_sql">true</property>
//打印sql语句
<property name="hibernate.format_sql">true</property>
//设置sql语句格式
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="hibernate.current_session_context_class">thread</property>
//绑定当前session
二级缓存配置文件
hibernate.cfg.xml
<!-- 开启二级 缓存-->
<property name="hibernate.cache.use_second_level_cache">true</property>
<!--配置使用的二级缓存 -->
<property name="cache.region.factory_class">
org.hibernate.cache.ehcache.EhCacheRegionFactory</property>
<!-- 开启查询缓存 hql查询缓存到二级缓存 -->
<property name="hibernate.cache.use_query_cache">true</property>
<!-- 把映射文件引进来 -->
<mapping resource="com/qf/pojo/Users.hbm.xml"/>
<mapping resource="com/qf/pojo/Money.hbm.xml"/>
<mapping resource="com/qf/pojo/Order.hbm.xml"/>
<!-- 配置二级缓存 来缓存哪些类 -->
<class-cache usage="read-only" class="com.qf.pojo.User"/>
<class-cache usage="read-only" class="com.qf.pojo.Order"/>
<!-- 配置缓存哪些集合 -->
<collection-cache usage="read-only" collection="com.qf.pojo.User.orderSet"/>
配置日志文件 logj.propertise
#
# Hibernate, Relational Persistence for Idiomatic Java
#
# License: GNU Lesser General Public License (LGPL), version 2.1 or later.
# See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
#
### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err<!--in or out -->
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### direct messages to file hibernate.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=D://hibernate.log<!--日志文件存储位置 -->
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
### set log levels - for more verbose logging change 'info' to 'debug' ###
log4j.rootLogger=info<!--日志级别:ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF,-->,stdout<!--标准输出-->,file<!--输出类型-->
小知识点
inverse:true;当前类放弃对外建表的维护,在many-to-many中 必须由一方设置inverse=true;
*dynamic-insert*=”true”:insert时没有值的数据不会被打印
dynamic-update=”true”update时没有值的数据不会被打印
cascade=”delete-orphan”: 孤儿删除,多的一方接触关系时,外键值设为null,并且删掉多一方已经接触掉关系的数据