Hibernate配置Ehcache二级缓存

Hibernate配置Ehcache二级缓存

今天配置hibernate的二级缓存,道路是曲折的,但是最后还是配置成功!期间遇到了不少小问题,记录下来防止有像我这样的菜鸟兄弟在配置的时候不知所措!废话不说了说一下正确的步骤和重要的配置代码!

第一步,先引入jar包。ehcache-1.5.0.jar最关键的jar包了,因为他是二级缓存的主角吗!还有一个配角没了他你也会不好过,D:\WEB Document\JAR包\backport-util-concurrent-2.2.jar。

第二步,在hibernate的配置文件或spring的配置文件中填写下列代码(我这里使用的是spring的配置文件):

<!-- 配置hibernate二级缓存 -->
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>

  

当然hibernate配置文件依据这个配置就相当easy了。

第三步,配置*.hbm.xml文件

<cache usage="read-write"/>

  

当然这里只是向需要二级缓存的pojo类中添加这个配置,如果不需要就不用”节外生枝“了。

下面我主要说一下我在配置的过程中遇到的错误:

第一个,cvc-complex-type.2.3: Element 'props' cannot have character [children], because the type's content type is element-only.

这个错误我还没有解决,但是这个错误我好像和另一个网上的同胞遇到的一样,从外面粘贴了代码就出现了这样的错误!原因有待大家解决!

第二个, Second-level cache is not enabled for usage [hibernate.cache.use_second_level_cache | hibernate.cache.use_query_cache]

这个错误时由于配置hibernate或spring的配置文件的时候出错,因为不同的hibernate版本这两个属性有点区别。一定还要严格按照上面的配置来配置。

第三个, java.lang.ClassNotFoundException: edu.emory.mathcs.backport.java.util.concurrent.BlockingQueue。好了刚才说的那个配角终于发挥作用了!这个错误就是那个配角给搞的破坏,现在把它引入吧!不过有的我现在使用的spring的框架里面没有自带,从网上下载了一个!引入之后万事大吉了!

你可能感兴趣的:(Hibernate配置Ehcache二级缓存)