我有两张表A,B
A与B是many-to-one关系   <many-to-one name="b" class="pojo.B" lazy="false">  
            <column name="qid"/>   //qid是出发地的ID  
        </many-to-one>
A.java里面B b;
get set方法省略
但是这里我需要重新再映射一遍因为在A里面有两个字段的ID 都是映射到B得主键ID的
例如 B里面存放的是地区,例如 北京 上海
那么在A这里就有 出发地 和 目的地
所以我就在A的配置文件里面又配置了
  <many-to-one name="b" class="pojo.B" lazy="false">  
            <column name="mid"/>   //mid是目的地的ID  
        </many-to-one>
但是启动就报错 我想应该是有其它办法的 还请大家指点一下。谢谢。

解决方案 »

  1.   

    <column name="当前A表里面的B表id"/> 
      

  2.   

    我先跟你说下,一对多 跟多对多    一个用户对应多个单子 是多对一
       一个单子对应一个用户 是一对多
    这个在用户时 set many to one  
    在单子时 set one to many     一个user对应多个权限 是多对多
       一个权限被多个用户所拥有  是多对多
     那么他们的hbm.xml 都是set many to many 
      
      按你的例子
      一个地区 可以是出发点 或  终点
       一个出发点  可以是很多城市  
     那么他们之间的hbm.xml 都是set many to many 多对多的关联