<composite-id name="comp_id" class="com.comstars.hibernate.databean.TdCorpsacleRelPK">
        <key-property 
            name="corpid" 
            column="CORPID" 
            type="java.lang.Integer"
            length="22"
        />
        <key-property 
            name="scaleid" 
            column="SCALEID" 
            type="java.lang.Integer"
            length="22"
        />
    </composite-id>    

解决方案 »

  1.   

    Hibernate多对多中间表的字段会生成一个单独的Pojo
      
      

  2.   

    而且生成pojo时会为联合主键单独生成一个pojo
    在 表对应的pojo类中引用此对象
      

  3.   

    个人认为如果使用hibernate尽量不适用复合主键映射,如果需求改变 构成复合主键的字段改变了.那么数据库表的结构就会做出修改,程序中的逻辑也会做出修改.
      

  4.   

    联合主键  没有好处,写成one to many 和 many to one 吧。。