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