首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

关于hibernate二级缓存有关问题

2012-03-16 
关于hibernate二级缓存问题二级缓存只能对通过ID查询的语句起作用?只对这样的语句 hqlfrom ShopBean as

关于hibernate二级缓存问题
二级缓存只能对通过ID查询的语句起作用?
只对这样的语句 hql="from ShopBean as shop where shop.s_id =123"; 起作用?
我底下的语句不行?怎么才能让下面的语句也使用二级缓存?

Java code
List<ShopBean> shops;String hql="from ShopBean as shop where shop.s_level like '%"+level+"' and shop.s_check='"+check+"'";Query query=session.createQuery(hql);shops=query.list();return shops;


[解决办法]
不是太了解 帮顶
[解决办法]
hibernate 应该只对 通过主键加载的数据起作用,还有延迟加载的数据,你这样的估计是不行。

你这种模糊查询为什么需要缓存呢?你要明白缓存的应用场景,并不是什么场景都适用缓存的。

变化频繁的数据并不适合做缓存的
[解决办法]
需要在hibernate配置文件中加入<property name="cache.use_second_level_cache">true</property>
<property name="cache.use_query_cache">true</property>
然后在查询的地方加入query.setCacheable(true)

热点排行