如何解决这个问题
Repeated column in mapping for entity: com.abc.domain.PersonConnect column: PERSON_ID (should be mapped with insert="false" update="false")
这是我的 hbm 文件的片段
<class name="com.abc.domain.PersonConnect" table="PERSON_CONNECT">
<composite-id>
<key-many-to-one name="Parent" class="com.abc.domain.Person" column="PARENT_PERSON_ID"/>
<key-many-to-one name="Child" class="com.abc.domain.Person" column="CHILD_PERSON_ID"/>
</composite-id>
<many-to-one class="com.abc.domain.Person" fetch="select" name="parent" lazy="false" >
<column length="20" name="PERSON_ID" not-null="true"/>
</many-to-one>
<many-to-one class="com.abc.domain.Person" fetch="select" name="child" lazy="false" >
<column length="20" name="PERSON_ID" not-null="true"/>
</many-to-one>
</class>
表格是这样的
人脉联系
- PK - PARENT_PERSON_ID
- PK - CHILD_PERSON_ID
人
- PK - PERSON_ID
- 姓名
- 名字
最佳答案
你的映射是错误的,这是正确的映射。在多对一方面,列名是同一个表中的列,它是引用 Person 主键的外部列。
<class name="com.abc.domain.PersonConnect" table="PERSON_CONNECT">
<composite-id>
<key-many-to-one name="Parent" class="com.abc.domain.Person" column="PARENT_PERSON_ID"/>
<key-many-to-one name="Child" class="com.abc.domain.Person" column=" CHILD_PERSON_ID"/>
</composite-id>
</class>
关于java - Hibernate 映射同一列两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7577701/