hibernate 进行一对多查询时,多的一方外键有记录,但为什么是null

l5038814 2014-06-07 05:07:29
部门.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 package="com.aa.model">
<class name="Department" table="Department" >
<id name="id" type="java.lang.Integer">
<generator class="native"></generator>
</id>
<property name="name" type="java.lang.String">
<column name="name"></column>
</property>
<set name="stus" cascade="all">
<key column="departid" />
<one-to-many class="Student" />
</set>
</class>
</hibernate-mapping>



学生.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 package="com.aa.model">
<class name="Student" table="Student" >
<id name="id" type="java.lang.Integer">
<generator class="native"></generator>
</id>
<property name="name" type="java.lang.String">
<column name="name"></column>
</property>
<many-to-one name="depart" cascade="all" class="Department">
<column name="departid"></column>
</many-to-one>
</class>
</hibernate-mapping>



部门类
public class Department implements Serializable {

/**
*
*/
private static final long serialVersionUID = 1L;
private int id;
private String name;
private Set<Student> stus;}

学生类
public class Student implements Serializable {

/**
*
*/
private static final long serialVersionUID = 1L;
private int id;
private String name;
private Department depart;
private String departid;}






测试代码

session=HibernateUtil.getCurrentSession();
//tx=session.beginTransaction();
Department d=(Department)session.get(Department.class, 2);
Set<Student> stus=d.getStus();
for(Student s:stus){
s.setDepart(d);
System.out.println(s.getId()+s.getName()+s.getDepartid());

s.getId()+s.getName()都能取出,唯独s.getDepartid() 为什么是null
...全文
142 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
azhqiang 2014-06-11
  • 打赏
  • 举报
回复
要先获取到Student 下面的Department 对象,通过这个对象再点出 getDepartid方法

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧