NHibernate 2.0 отображает составной идентификатор внутри составного идентификатора - PullRequest
0 голосов
/ 22 сентября 2010

У меня есть таблица TAS с:

<class name="TAS" table="NCPTB016_TAS">
<composite-id>
  <key-many-to-one column="NU_MACRO_PROCESSO_007" name="MacroProcesso"/>
  <key-property column="NU_TAS" name="Id" />
</composite-id>
... //and some other properties

И у меня есть таблица:

<class name="STAS" table="NCPTB017_STAS">
<composite-id>
  <key-many-to-one column="NU_MACRO_PROCESSO_016" name="MacroProcesso"/>
  <key-many-to-one column="NU_TAS_016" name="TAS" />
  <key-property column="NU_STAS" name="Id" />
</composite-id>
... //some properties

Таблица STAS является составным идентификатором. Это ключ TAS (составной идентификатор) и другой ключ. Как мне это отобразить? Когда я делаю то, что делаю, я получаю сообщение об ошибке:

Внешний ключ (FK451D68E632669A4: NCPTB017_STAS [NU_TAS_016]))) должен иметь то же количество столбцов, что и первичный ключ, на который есть ссылка (NCPTB016_TAS [NU_MACRO_PROCESSO_007, NU_TAS])


Чтобы быть более простым, Как я могу сопоставить многие-к-одному, которые имеют составной идентификатор ???

Ex: Таблица1 имеет составной идентификатор Id1 и Id2 Table2 имеет много-к-одному из table1, так как имеет составной FK с Id1 и Id2 из table1 ...

Спасибо за помощь!

1 Ответ

1 голос
/ 22 сентября 2010

никогда не использовал его, но я бы сказал так:

<many-to-one ...>
  <column name="key1" />
  <column name="key2" />
</many-to-one>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...