0

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

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(...) 等

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

4

1 回答 1

0

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

Hibernate.initialize(object.getSomeList());
于 2012-12-12T11:19:27.470 回答