你的那个p对象那时候还在托管状态,所以直接就能取属性的值你清不清缓存都没把人家那个p对象给没收了,p仍可用
解决方案 »
- ssh action调用sevice层方法空指针状况
- Struts2+Hibernate3.3级联保存
- 推荐6款常用的Java开源报表制作工具
- 跪求新的JavaEE项目教程或者建议
- response跳转问题!!
- 请问高手,为什么我的DynaActionForm总会保留上一个动作的值?
- 关于struts formbean 赋值问题,请大虾指教
- Java基础问题(二):请用自己的理解详细解释一下classloader机制,贴用例者多给分
- 帮我编一个聊天室的程序,要有测试代码,然后在打包.急急急!!!
- jboss里连接sql server200-出错,大家来看看
- 关于smslib 二次开发的问题,win7下无法使用serviceStop方法停止服务
- SSH整合错误 Could not instantiate bean class [org.hibernate.cfg.Configuration]
@Test
public void testClear() {
//clear cache
ProgramerPK pk = new ProgramerPK();
pk.setId(1);
pk.setSid("123");
Session session = getSessionFactory().getCurrentSession();
session.beginTransaction();
Programer p = (Programer)session.load(Programer.class, pk);
//This code will do select in database just once
System.out.println(p.getName());
//At this time do not execute SQL, Because data already in cache
Programer p2 = (Programer)session.load(Programer.class, pk);
System.out.println(p2.getName());
//Now release cache
session.clear();
Programer p3 = (Programer)session.load(Programer.class, pk);
//Now cache is clean, Must execute SQL again
System.out.println(p3.getName());
session.getTransaction().commit();
}
这个测试应该这么写的!
貌似load是4才有的吗?我也在学习中。