【发布时间】:2014-08-18 00:40:41
【问题描述】:
我是休眠新手,我遇到了这个问题。
如果我这样做:
Session sesion = HibernateUtil.getSessionFactory().openSession();
Transaction tx = sesion.beginTransaction();
A obj = (A) session.load(A.class,id);
System.out.println(obj);
tx.commit();
session.close();
return obj;
没有问题,gui显示了对象的数据。
但如果我这样做:
Session sesion = HibernateUtil.getSessionFactory().openSession();
Transaction tx = sesion.beginTransaction();
A obj = (A) session.load(A.class,id);
// i don't use System.out.println(obj);
tx.commit();
session.close();
return obj;
gui 没有显示任何内容,我得到了以下异常。
org.hibernate.LazyInitializationException: 无法初始化代理 - 没有会话
我一直在阅读 API,但它对我来说是一个全新的世界。 有谁知道怎么回事?
【问题讨论】:
-
看看这个描述会话加载和获取之间区别的答案:stackoverflow.com/questions/8044963/…。使用获取。