日期:2014-05-16  浏览次数:20630 次

hibernate中的load加载
以下的代码为什么会报错,我用get为什么就不报错??
Configuration conf=new Configuration().configure();
SessionFactory sf=conf.buildSessionFactory();
Session session=sf.openSession();
Typehouse th=(Typehouse)session.load(Typehouse.class, 1);
session.close();
sf.close();
System.out.println(th.getId());
System.out.println(th.getName());

------解决方案--------------------
load是延时加载,当你去调用的时候估计session已经被关闭了
------解决方案--------------------
是的,get是立即加载的,不管你有没有用到它的属性,它都先给你查询出来了。load是要用到那个属性的时候才去查询的。
探讨
load是延时加载,当你去调用的时候估计session已经被关闭了