Hibernate经典总结(四)
on两次查询不同对象 结果:去DB查两次
*/
public static void test2() {
Session session = HibernateUtil.getSession();
// 第一次查询
Foo foo = (Foo) session.get(Foo.class, 1);
System.out.println(foo.getName() + " " + foo.getSalary());
// 第二次查询
Foo foo1 = (Foo) session.get(Foo.class, 22);
System.out.println(foo1.getHireDate() + " " + foo1.getLastLoginTime());
session.close();
}
/**
* 同一个session两次查询相同对象 结果:去DB查一次
*/
public static void test1() {
Session session = HibernateUtil.getSession();
// 第一次查询
Foo foo = (Foo) session.get(Foo.class, 1);
System.out.println(foo.getName() + " " + foo.getSalary());
// session.evict(foo);//从一级缓存移除foo对象
session.clear();
// 第二次查询
Foo foo1 = (Foo) session.get(Foo.class, 1);
System.out.println(foo1.getHireDate() + " " + foo1.getLastLoginTime());
session.close();
}