这是错误的,因为您在提交事务时将会话管理配置设置为关闭会话。检查是否有以下内容:
<property name="current_session_context_class">thread</property>
在您的配置中。
为了解决此问题,您可以更改会话工厂的配置或打开另一个会话,而不仅仅是要求那些延迟加载的对象。但是我在这里建议的是在getModelByModelGroup本身中初始化此惰性集合并调用:
Hibernate.initialize(subProcessModel.getElement());
当您仍处于活动状态时。
最后一件事。一个友好的建议。您的方法中有以下内容:
for (Model m : modelList) { if (m.getModelType().getId() == 3) { model = m; break; }}请安装此代码,仅在上面几行中的查询语句中过滤ID等于3的那些模型。
更多阅读:
会话工厂配置
封闭会议的问题



