Hibernate Mapping один и тот же столбец дважды - PullRequest
4 голосов
/ 28 сентября 2011

Как можно исправить эту вещь

Повторяющийся столбец в сопоставлении для сущности: com.abc.domain.PersonConnect столбец: PERSON_ID (должен отображаться с помощью вставки = "ложь" обновление = "ложь")

это фрагмент моего файла 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>

и таблица выглядит так

Person_Connect

  • ПК - PARENT_PERSON_ID
  • ПК - CHILD_PERSON_ID

Человек

  • PK - PERSON_ID
  • Fname
  • LNAME

Ответы [ 2 ]

2 голосов
/ 28 сентября 2011

Ваше отображение неверно, это правильное отображение.Со стороны многие-к-одному имя столбца - это столбец в той же таблице, который является внешним, ссылаясь на первичный ключ 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>
1 голос
/ 28 сентября 2011

Ну, во-первых, кажется маловероятным, чтобы и «Родитель», и «Дитя» были сопоставлены одному и тому же столбцу.Это, наверное, проблема.В противном случае сделайте то, что говорит ошибка, и добавьте insert="false" update="false" к одному из сопоставлений столбцов.Столбец может «принадлежать» только одному свойству.В противном случае вы можете попасть в неразрешимые ситуации, когда одно свойство говорит, что значение должно быть x, а другое говорит, что оно должно быть y.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...