在休眠关闭会话之前获取所有相关的表数据

时间:2013-09-03 05:20:05

标签: java hibernate session struts2

我想知道在关闭会话之后,当我从struts2动作调用hibernate pojo的列表时。然后控制正在移动以显示视图中的数据。在查看相关表数据时未显示。如果我没有关闭会话,那么我可以在哪里关闭会话。

我想要一个解决方案或方法来指定何时从pojo获取列表,然后相关的表数据也存储在它们各自的对象上。会话结束后,所有数据都将显示在视图上。请指定我使用hibernate的好方法。

请建议我,我不知道如何找到解决方案。

我有3个表,一个商店学生记录第二个保存类信息和第三个保存流信息,我有这三个表的各自的hibernate pojo库。现在我从struts动作中获取记录,如此

try{
    StudentMasterLogic student = new StudentMasterLogic(session);
    this.students = student.fetchAll();
}catch(HibernateException h){
    System.out.println(h);
}finally{
    session.close();
}
return "students";

现在我想在视图中显示所有记录。

<td><s:property value="firstName" />
    <s:property value="lastName" />(<s:property value="studentId" />)</td>     
<td><s:date name="dob" format="dd-MMM-yyyy" /></td>
<td><s:date name="doa" format="dd-MMM-yyyy" /></td>
<td><s:property value="classId.classTitle" /></td>
<td><s:property value="stream.streamTitle" /></td>

因为关闭会话我无法看到classId.classTitle和stream.streamTitle。我如何显示这些值。(如果我从动作中删除session.close()行,那么它将显示正常。)

请帮帮我。

0 个答案:

没有答案