<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
    
<hibernate-mapping
    package = "com.redprairie.tm.core">    <class name="A" table="A">        <composite-id name="PK" class="OrderCartonDetailPK" >
            <key-property name="X" column="x" />
        </composite-id>    
        <many-to-one
                name="B"
                class="B"
                insert="false"
                update="false" >
            <column name="y" />
            <column name="ordsln" />
        </many-to-one>
        
</class>
</hibernate-mapping>

解决方案 »

  1.   

    Hibernate是建议每张表都有个id属性,并且是通过id来构造外键关系的.
    你最好符合这样的规范.
      

  2.   

    同意楼上的,感觉你的表有点混乱,用hibernate还是注意好主外键的关系,光看表面 你的y似乎并不是主外键,都不知道你的关系是什么,自然怎么保存也无好说了
      

  3.   

    既然y是B的主键。那么y也就是A的外键了。这样y的值当然会被存储到A表中的。不过比较奇怪,你用hibernate,y不是无意义的一个序列ID?而且有具体值的?这样不太好