我正在使用模型文件,即Document.java和Document.hbm.xml中的jar文件。获取延迟初始化异常 - 访问模型对象属性时无会话
该文件类有一个对象:
class Document{
private Signature signature;
// other fields
// getter setters
}
与HBM映射如下:
<many-to-one name="signature" column="SIGNATURE_ID" class="com.model.Signature"/>
现在,当我访问从罐子这些文件,所以我不想改变他们。
我取出Document对象如下:
Query qry = getSessionFactory().getCurrentSession().createQuery("from
Document where id = :id");
qry.setParameter("id" , id);
return (Document)qry.list().get(0);
但现在当我拿出一个签名对象通过下面的代码:
我有一个实用工具类Utils.java所以我访问它为:
Utils utils = new Utils();
utils.getSignatures(document);
这getSignatures的Utils类内的方法是
public Signatures getSignatures (Document document){
Signature sign = document.getSignature();
// working on sign object
return sign;
}
所以现在在上面的代码中当过我做document.getSignature()我收到以下错误:
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
请在出现异常的地方添加一段代码。你是否正在访问交易中的那个对象? – ledniov
先生,我已经更新了这个问题 – Tarun