首页 新闻 会员 周边 捐助

hibernate一对多双向查询

0
悬赏园豆:50 [已关闭问题] 关闭于 2015-04-29 11:10

做一对多双向关联查询的时候报了如下的错误:

在网上查了一下说是关联的两个表之间的数据出现错误,但是我两个表中的数据没错啊,下面是两个表的数据:



下面是PO类和映射关系:
一的一端:
public class SysRequire implements java.io.Serializable{

private Integer id;
private String rcode;
private String rteam;
private String rsysname;
private String rproname;
private String rmark;
private String rlevel;
private String rtype;
private String fileName;
private String url;
private Organization org;
private Set<SysKidPoint> sysKidPoints=new HashSet<SysKidPoint>();
/*set/get*/

<set name="sysKidPoints" inverse="true" cascade="save-update" lazy="false">
        <key column="sysRequreId"></key>
        <one-to-many class="cn.kexin.parawork.domain.SysKidPoint"/>
        </set>
多的一端:
public class SysKidPoint implements java.io.Serializable {

private Integer id;
private String pointcount;
private String genre;
private String reusedegree;
private String intricate;
private String changetype;
private String FP;
private String US;
private SysRequire sysRequire;

<many-to-one name="sysRequire" cascade="save-update" class="cn.kexin.parawork.domain.SysKidPoint" lazy="false">
         <column name="sysRequreId"></column>
        </many-to-one>

下面是查询时候的代码:
SysRequire sysRequire=sysRequireService.findSysRequireById(rid);
Set<SysKidPoint> setList=sysRequire.getSysKidPoints();
Iterator it=setList.iterator();
while(it.hasNext()){
SysKidPoint s=(SysKidPoint)it.next();
System.out.println(s.getChangetype());
}

而且把<set name="sysKidPoints" inverse="true" cascade="save-update" lazy="false">
        <key column="sysRequreId"></key>
        <one-to-many class="cn.kexin.parawork.domain.SysKidPoint"/>
        </set>里面的 lazy="false"去掉之后就报no  session or  session closed的错误。

改成单项的也是上面的错误,昨天下午搞到现在还是不行,而且改成单向关联也不行,求大牛们给点提示吧。

李爱戴的主页 李爱戴 | 初学一级 | 园豆:2
提问于:2015-04-29 10:47
< >
分享
所有回答(1)
0

搞了快一天的问题,各种测试各种出问题,其实就是我配置出错了,刚才无意间看到了

<many-to-one name="sysRequire" cascade="save-update" class="cn.kexin.parawork.domain.SysKidPoint" lazy="false">
         <column name="sysRequreId"></column>
        </many-to-one>

这里面的class配错了,给的是多的一方,其实应该是一的一方。

李爱戴 | 园豆:2 (初学一级) | 2015-04-29 11:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册