<!-- 批量提交上限 ,事物已20条记录为限-->
<prop key="hibernate.jdbc.batch_size">20</prop>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<!-- 以下配置都是使用 jdbc.properties 属性文件中的配置,而之所以可以这样写,就是因为有 属性占位符配置的原因 -->
<property name="driverClass" value="${jdbc.driverClassName}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<!-- 连接池维持的最小的连接个数 -->
<property name="minPoolSize" value="5"/>
<!-- 连接池维持的最大的连接个数 -->
<property name="maxPoolSize" value="20"/>
<!-- 最大空闲时间, 当某个连接在这个时间内没活动后将从池中移除,前提是池中至少多于最少的连接数: minPoolSize -->
<property name="maxIdleTime" value="1800"/>
<!-- 为加强准备语句的执行性能,此参数指定被缓存的 PreparedStatement 的个数 -->
<property name="maxStatements" value="50"/>
</bean>
Hibernate 会话厂 SessionFactory
Session 就是用于每次与数据库会话的,因此需要:
数据库的配置参数,这些参数就是 上面的数据源指定的! 因此我们只需引用即可: ref="dataSource";
实体映射配置 hibernate.cfg.xml 配置
结果缓存配置(这里使用的是开源的 ehcache)
<!-- Hibernate SessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<!-- 引用前面定义的数据源 -->
<property name="dataSource" ref="dataSource"/>
<!-- 所有实体映射文件列表, 所有的 hbm.xml 文件 -->
<property name="mappingResources">
<list>
<value>org/springframework/samples/jpetstore/domain/Account.hbm.xml</value>
<value>org/springframework/samples/jpetstore/domain/Banner.hbm.xml</value>
<value>org/springframework/samples/jpetstore/domain/Category.hbm.xml</value>
<value>org/springframework/samples/jpetstore/domain/Inventory.hbm.xml</value>
<value>org/springframework/samples/jpetstore/domain/Item.hbm.xml</value>
<value>org/springframework/samples/jpetstore/domain/LineItem.hbm.xml</value>
<value>org/springframework/samples/jpetstore/domain/Order.hbm.xml</value>
<value>org/springframework/samples/jpetstore/domain/Product.hbm.xml</value>
<value>org/springframework/samples/jpetstore/domain/Supplier.hbm.xml</value>
</list>
</property>
<!-- 传统上的 hibernate.cfg.xml 文件的参数放在这里 -->
<property name="hibernateProperties">
<props>
<!-- 指定数据库方言 -->
<prop key="hibernate.dialect">${hibernate.dialect}
</prop>
<!-- 是否在日志中输出所有Hibernate与数据库交互的SQL语句 -->
<prop key="hibernate.show_sql">true</prop>
<!-- 是否在日志中输出的SQL 语句格式化成易读形式 -->
<prop key="hibernate.format_sql">true</prop>
<!-- 是否显示统计形式,一般在测试阶段使用 -->
<prop key="hibernate.generate_statistics">true</prop>
<!-- 对于级联查询,一次性获取的级联深度, @todo 需进一步研究 -->
<prop key="hibernate.max_fetch_depth">2</prop>
<!--
Fetch Size 是设定JDBC的Statement读取数据的时候每次从数据库中取出的记录条数,一般设置为30、50、100。
Oracle数据库的JDBC驱动默认的Fetch Size=15,设置Fetch Size设置为:30、50,性能会有明显提升,如果继续增大,
超出100,性能提升不明显,反而会消耗内存。
-->
<prop key="hibernate.jdbc.fatch_size">100</prop>
<!--
不必等到累计到50个SQL之后才执行.只要事务commit后,不管缓存中有多少条sql语句都要执行.
hibernate.jdbc.batch_size参数只是设定一次最多可以提交多少sql语句的上限,提高sql语句的执行效率
-->
<prop key="hibernate.jdbc.batch_size">50</prop>
<!--
(1)create 在每次SesstionFactory 构建时(一般是应用重启时,或者伴随着应用服务器重启时),先将之前数据库中的所有数据全
部清空,后紧跟着根据所有的hbm.xml 映射文件重新创建新的数据库表
(2)create-drop 除了create 的所有含义之外,在每次应用的退出前,将进行一次数据空清空。因此这个配置将有两次清空操作,
一次是退出,一次是启动时。
(3)update
如果在开发阶段理发了实体对象的映射文件(hbm.xml) 的定义后,此配置将后台的数据库表进行更新(如增加表的列)
(4)validate
用于校验现有的表与现有的配置是否一致。
-->
<prop key="hibernate.hbm2ddl.auto">update</prop>
<!-- 见下面的解释 -->
<prop key="hibernate.hbm2ddl.auto">update</prop>
<!--结果缓存配置:- 将ehcache.xml 置于 classpath 中- 如果不设置“查询缓存”,
那么hibernate只会缓存使用load()方法获得的单个持久化对象,如果想缓存使用findall()、 list()、
Iterator()、createCriteria()、createQuery()等方法获得的数据结果集的话,就需要设置
hibernate.cache.use_query_cache true 才行- 在Hbm文件中添加<cache usage="read-only"/>-
如果需要“查询缓存”,还需要在使用Query或Criteria()时设置其setCacheable(true);属性-->
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
</props>
</property>
<!-- 为解决 merge()方法语义的歧义 @todo 以后进一步解析或者你可以看一下相应的文档 -->
<property name="eventListeners">
<map><entry key="merge">
<bean class="org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener"/>
</entry></map>
</property>
</bean>
分享到:
相关推荐
bookAdmin.rar是一个人做的图书的增删改差(带分页)的程序。
论坛转帖工具 .......... 纯HTML
又找到了两个相当好的详解winxp注册表的文件。特此补充,本rar文件中含有以下文件: 2007-04-28 486,126 windows+xp注册表结构.CHM 2011-01-06 48,025 Windows XP注册表详解.txt 2011-01-06 8,038 Win XP注册表的...
Think恢复系统使用详解,只备份系统盘就行了。功能极其强悍
一键转帖 一键8经验签到. 绿易贴吧工具3.7 11.11版.rar
编辑人员转帖去水印工具,很好用,直接选中水印区域后运行伪装即可!
转帖性能测试
UBB论坛转帖圣手.exeUBB论坛转帖圣手.exe
discuz X2转帖工具、采集工具,discuz论坛批量发帖,批量转帖工具
这是一个世界编程大赛第一名写的程序,很好玩的,大家试试看。
1.修改自Convert X转帖工具 2.新增批量替换关键词(原来是单个词语替换,可以利用这个功能删除一些网站的防转帖代码) 3.批量随机新增文字(新增内容可自定义,从而实现伪原创) 4.cookie记录替换和新增关键词(避免每次...
转帖图片提取工具可以对论坛图片附件信息进行清除,只保留图片代码,操作很简单,推荐有需要转帖图片工具的朋友下载 转帖图片提取工具使用方法: 将IP138上处理过的东西复制到上方的编辑框内,点击只要图片,下面...
Html2UBBMaxcj_Softii论坛专用转帖工具
gl8雨刮维修以及调试转帖.doc
转帖PLCDCSFCS三大控制系统的特点和差异.doc
关于工作与生活的转帖 一篇论述精辟的文章,值得一看。
用PHP批量生成图片缩略图——活跃论坛转帖
轻松转帖之突破网页复制限制宣贯.pdf
股票T+0的操作(转帖).pdf