无法初始化代理 - 没有会话,为什么更新工作和合并不?

时间:2012-12-12 10:12:28

标签: java hibernate

我在尝试获取延迟加载的对象时“无法初始化代理 - 无会话”。我知道这是因为我的对象是分离的,我需要先更新它。 我的问题是为什么这样做:

repo.update(object);
object.getSomeList();

当那些没有:

object = repo.merge(object);
object.getSomeList();

repo.evict(object);
repo.get(objectClass,object.primaryKey());
object.getSomeList();

Repo是我的存储库类,它引用了Session并运行session.saveOrUpdate(...),session.merge(...)等

我认为所有版本都让我得到一个持久对象,所以它不再分离了。真的吗?如果是,虽然我没有会话错误?如果不是,为什么不呢? :)

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,你应该初始化懒惰属性

Hibernate.initialize(object.getSomeList());