赞助连接

赞助连接

阅 读 文 章

Hibernate 2级cache请教!

[来源:网上转载 (http://bbs.chinaunix.net) | 作者:网友(网络转载) | 时间:2008-06-17 | 浏览: 人次 ]

请问下,我配置了开启2级Cache,那么session.createQuery之后就应该回把查到的实体放到2级Cache里把,然后在设置sessionFactory.evict把实体从2级缓存里清掉,,那么第2次查询的时候自然是要重新load了,可为什么console显示是直接拿缓存的数据?

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

ehcache.xml也在,

java代 *** :
                   String hql = "from TUser where age>?";
                Query query = session.createQuery(hql);
                query.setInteger(0, 30);
                query.setCacheable(true);
                                List userList = query.list();
                 for(int i=0; i<userList.size(); i++){
                        TUser user = (TUser)userList.get(i);
                        getSessionFactory().evict(TUser.class, user.getId());
                        System.out.println(user.getName());
                }
               
                System.out.println("Second Query...");
                                
                query = session2.createQuery(hql);
                query.setInteger(0, 30);
                query.setCacheable(true);
               
                userList = query.list();
                 for(int i=0; i<userList.size(); i++){
                        TUser user = (TUser)userList.get(i);
                        System.out.println(user.getName());
TAG标签 : 请教 as TUser from System.out.println name where hql

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表
网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.newhtm.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.