Hibernate4.1.2 二级缓存问题

      在刚刚接触hibernate的时候,由于学的时候是3.3的版本,但当时在官网下载的时候已经是4.1.2的版本,说明文档英文,学习过程中发现问题后,有一道问题问引入什么包,答案倒很有趣,发现在有人回答别人引入jar包这样讲,这种问题自己去读 Hibernate 的文档不就好了么?
为什么这种基础的问题也要到处问别人?这又不是什么不容易查的稀有问题,或者不容易理解的难点问题。
做事情都不知道去如何自己寻找答案,这算什么?现在小学都鼓励学生自己去寻找答案了,你就那么喜欢填鸭式的教育么?还是你就是懒得自己动手动脑啊?还是你不懂得什么是举一反三?抱着这种什么问题都可以的问别人的态度就是错误的,难道全世界都欠你一个答案么?这位前辈厉害。然后警示自己,自己动手。

     在二级缓存时,原来的3.3版本hibernate.cfg.xml是这样配置的。

<property name="cache.use_second_level_cache">true</property>
<property name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
<property name="cache.use_query_cache">true</property>

自己引入4.1的包后,运行

org.hibernate.cache.NoCacheRegionFactoryAvailableException: Second-level cache
 is used in the application, but property hibernate.cache.region.factory_class
 is not given 

显然,缺少类文件,肯定配置有问题,这时自己应该想想现在的hibernate.cfg.xml是不是配置不同了,


再在jar包里面搜索hibernate.cfg.xml 配置已经变成

<property name="cache.use_second_level_cache">true</property>
<property name="cache.use_structured_entries">true</property>

<property name="cache.region.factory_class">
        org.hibernate.cache.EhCacheRegionFactory
 </property>

引入包的时候就应该有这些类,回到jar包中的lib,里面的option的ehcache引入两个ehcache的包,这里不用commons-logging包,其他包包含了。最后顺利运行。有了二级缓存后,不同的session同一个对象的同一个属性值时,已经不用去数据库select两次,直接在缓存拿就行了。

   这不是什么难的东西,但是我自己配了一段时间,问题的本身,在于自己懂得怎样去解决,怎样去查,怎样捉着线索一步一步找到自己的问题,然后解决。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iaiti

赏顿早餐钱~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值