NHibernate Композиция Композитный Ключевая проблема - PullRequest
1 голос
/ 20 февраля 2010

У меня есть класс, который состоит из 2 составных ключевых объектов, и они имеют общий столбец «SharedColumn». Это прекрасно отображает, и сопоставления типа «один ко многим» составных классов работают нормально.

<class name="PAIR">
     <composite-id>
       <key-many-to-one name="first" class="Class1">
      <column name="SharedColumn"/>
      <column name="Column1" />
       </key-many-to-one>
       <key-many-to-one name="second" class="Class1" >
      <column name="SharedColumn"/>
      <column name="Column2" />
       </key-many-to-one>
     </composite-id>
    </class>

Проблема в том, что я пытаюсь построить карту, которая ссылается на этот класс пары. Неважно, каким методом я использую обе карты, скажем, у меня неправильное количество столбцов.

<many-to-one class="PAIR">
  <column name="SharedColumn" />
  <column name="Column1" />
  <column name="Column2" />
</many-to-one>


<many-to-one class="PAIR">
      <column name="SharedColumn" />
      <column name="Column1" />
      <column name="SharedColumn" />
      <column name="Column2" />
</many-to-one>

Может ли кто-нибудь указать мне правильное направление? Я бы не стал добавлять суррогатный ключ, потому что эта тактика использовалась много раз в модели данных.

...