public void query1(){
Session session = null;
session = GetSession.getSession();
UserBean user = (UserBean)session.get(UserBean.class,1);
System.out.println(user.getName());
session.close();
System.out.println("------------------------------");
Session session1 = GetSession.getSession();
UserBean u = (UserBean)session1.get(UserBean.class, 1);
System.out.println(u.getAddress());
session1.close();
System.out.println("------------------------------");
}
public void query2(){
Session session = GetSession.getSession();
UserBean user = (UserBean) session.get(UserBean.class, 1);
System.out.println(user.getName());
}
(我先执行完query1 之后再执行query2 。两个是分开执行的!!)
这是我的两个方法,在query1中,在执行对一次get方法是发送了一条sql语句。这时将session关闭。再创建一个session1,在执行get方法是发送sql语句。只是得这个对象已经放在二级缓存里了。而我再次执行query2方法是不是应该直接到缓存中去找嘛。为什么query2还会发送sql语句呢?????
hibernate 高手给解答解答!!!
[b]问题补充:[/b]
不分开的话query2是不向数据库发送sql语句的,我试过了。
[b]问题补充:[/b]
谢谢你们的回答,不过好像不是我想要的答案