【发布时间】:2015-07-14 11:43:21
【问题描述】:
我有一个对象列表 (Jpassatempos),我正在尝试初始化它们
Session session = this.sessionFactory.getCurrentSession();
List<Jpassatempos> list = (List<Jpassatempos>) session.createQuery("select jpassatempos from Jcodigos c where c.jconcorrentes.id=? group by c.jpassatempos.id order by c.jpassatempos.dataFim desc").setParameter(0, id).list();
for(int i =0; i< list.size(); i++){
Hibernate.initialize(list.get(i).getJpatrocinadoresPassatemposes());
}
return list;
它们确实被填充了,但是当我尝试在我的 jsp 页面上调用它们时:
${passatempo.jpatrocinadoresPassatemposes.toArray()[0].id}
它给了我以下错误:
HTTP Status 500 - javax.servlet.ServletException:
javax.servlet.jsp.JspException: javax.servlet.jsp.JspException:
javax.servlet.jsp.JspException: org.hibernate.LazyInitializationException:
failed to lazily initialize a collection of role:
...Jpassatempos.jpatrocinadoresPassatemposes, could not initialize proxy - no Session
感谢任何帮助。
【问题讨论】:
-
也发布实体结构,我怀疑你可能需要初始化
getJpatrocinadoresPassatemposes()也一一进行迭代。 -
@kunal 重命名 org.Hibernate.Session 对象尝试一次,因为 session 是 jsp 中 HttpSession 的预定义对象。
标签: java spring hibernate jsp spring-mvc