Repeated column in mapping for class com.beans.Userorder should be mapped with insert="false" update="false": userid
问题出在你其他的映射不对,和级连无关!

解决方案 »

  1.   

    好像是在Userorder的mapping中重复影射了列userid。
      

  2.   

    控制权已经给Userorder了,所以是由Userorder来获得ID的了,把inverse="true">改为inverse="false">就可以的了,不然就在级联删除Userorder的时候首先要获得对方ID
      

  3.   

    测试代码中没有设置Userinfo ->Userorder的关联。
      

  4.   

    请问VonSnowPine () : 解决问题没有, 我也在级联删除时, 只删除了父子之间的关系(将子表中关联字段赋值为null), 并没有将子表的记录删除
      

  5.   

    已经解决,这样做:
    在Userinfo.hbm.xml中配置单向一对多映射即可
       <set name="userorder" cascade="delete" inverse="true">
            <key column="userid"/>
            <one-to-many class="com.beans.Userorder"/>
        </set>
    同时持久Bean中应做相应的修改:
       UserOrder(用户订单)Bean中设置:
       //映射Userinfo
        public com.beans.Userinfo getUserinfo(){
         return userinfo;
        }
        
        public void setUserinfo(com.beans.Userinfo userinfo){
         this.userinfo=userinfo;
        }
        Userinfo(用户信息)Bean中设置:
        //映射Userorder
        public Set getUserorder(){
         return userorder;
        }
        
        public void setUserorder(Set userorder){
         this.userorder=userorder;
        }