修正一下
表结构如下
TABLE_A               TABLE_B             TABLE_C
A_ID   PK             B_ID     PK         C_ID    PK
A_NO                  A_NO     FK         C_NO    
A_NAME                C_NO     FK         C_NAME
TABLE_A.A_NO 和 TABLE_C.C_NO 有唯一索引问一下这三张表的映射文件hbm.xml该怎么配置?

解决方案 »

  1.   

    在hibernate.cgf.xml中不用管他们,你只要为每个表创建一个*.hbm.xml就可以了,使用的时候,使用new Configuration(*.class)就可以了,hibernate配置文件就是让你和数据库连接,configuration(*.class)是让你和数据库中的表连接
      

  2.   

    先用Eclipse向导创建三张表的bo、DAO及配置文件。如果需要就建立表之间的多对一关系。
    估计你的B表访问比较多,比较适合建立多对一单向关联,如对A表跟B表:
    1、修改B表的bo文件:增加private TableA tableA;即B表对象中对A表的引用
    2、修改B表的.hbm.xml文件:增加对应关系
    <many-to-one name="tableA" class="xxx.TableA " column="A_NO" />
    其中xxx是bo的包名。b表与C表对应与此类似。
      

  3.   

    抱歉,没看清楼主的问题,A_NO是业务主键不是数据库主键。关注下。有时对于比较复杂的关联关系,用HQL New VO对象比较方便(特别是报表)。
    使用方法如"SELECT NEW XXX.VReportB(A_NAME,C_NAME) FROM ..."