我知道这个错误很常见,但我已经搜索过了,似乎没有任何效果。
我在Option实体(childrenOptions,parentOption - 作为延迟加载)中有递归关系,并且我正在通过 HQL 查询加载平面列表,如下所示:
Session session = sessionFactory.openSession();
session.beginTransaction();
List result = session.createQuery("from Option as o").list();
session.getTransaction().commit();
session.close();
return result;
我正在尝试在 Hibernate 会话之外手动构建用户的选项树,因为它依赖于之前加载的其他角色实体。
因此,当我尝试使用getChildrenOptions()属性来添加子选项时,我收到“无法初始化代理 - 无会话”错误。
我已经尝试过session.evict()和.getHibernateLazyInitializer().getImplementation(),但是
if (option instanceof HibernateProxy)
总是假的。
是否有可能无法/删除此代理行为并使用普通 POJO 之类的集合属性?
急切加载所有选项似乎是一个性能问题,我想自己构建树。
提前致谢。