当前位置: 代码迷 >> Java Web开发 >> 困扰三天了 求大神指点
  详细解决方案

困扰三天了 求大神指点

热度:89   发布时间:2016-04-16 21:54:33.0
困扰三天了 求大神指导
想通过学生查找班级  
学生能查到 班级就是查不到
public List selectallstudent() {
List<Student> list=getHibernateTemplate().find("from Student ");
return list;
}

取值

<s:if test="#request.list!=null">
 <s:iterator value="#request.list" var="req">

 ${StuId}
 ${StuName}
 
${classes.ClassName}

 </s:iterator>
 </s:if>


private int StuId;
private String StuName;
//private int ClassId;
private Classes classes;
public int getStuId() {
return StuId;
}
public void setStuId(int stuId) {
StuId = stuId;
}
public String getStuName() {
return StuName;
}
public void setStuName(String stuName) {
StuName = stuName;
}

public Classes getClasses() {
return classes;
}
public void setClasses(Classes classes) {
this.classes = classes;
}
public Student(int stuId, String stuName, Classes classes) {

StuId = stuId;
StuName = stuName;
this.classes = classes;
}
public Student() {
super();
// TODO Auto-generated constructor stub
}
学生类
班级类
private int ClassId;
private String ClassName;
public int getClassId() {
return ClassId;
}
public void setClassId(int classId) {
ClassId = classId;
}
public String getClassName() {
return ClassName;
}
public void setClassName(String className) {
ClassName = className;
}
public Classes(int classId, String className) {

ClassId = classId;
ClassName = className;
}
public Classes() {
super();
// TODO Auto-generated constructor stub
}

学生的hbm.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="vo.Student" table="student">
<id name="StuId" column="StuId">
<generator class="increment">

</generator>
</id>
<property name="StuName" column="StuName" ></property>

<many-to-one name="classes" class="vo.Classes" column="ClassId" 
fetch="select"  cascade="all" lazy="false">
</many-to-one>

</class>
<class name="vo.Classes" table="classes">
<id name="ClassId" column="ClassId">
<generator class="increment"></generator>
</id>
<property name="ClassName" column="ClassName"></property>

</class> 
</hibernate-mapping>

------解决思路----------------------
到前台时hibernate中的session已经关闭了,你就算把懒加载(lazy="false")设为false,因此你在前台不可使用,不过可以在后台可以使用(在一个事务内)(我看的hibernate视频上说的,好像你要解决这个问题需要配置web.xml和其他的,具体的我忘了,你google吧)
  相关解决方案