Отображение NHibernate «один к одному», непервичные ключи

Не могу заставить NHibernate сгенерировать правильный запрос. Он продолжает использовать первичные ключи двух таблиц, к которым я присоединяюсь, для взаимно-однозначного отношения, и я не могу понять, как указать внешний ключ в одной из таблиц.

tableA      tableB
{ aID,      { bID,
  bID,        z,
  c,          y,
  d }         x }

поэтому tableA должна присоединиться в tableB, используя tableA.bID = tableB. BID. Как я могу указать это в сопоставлении для tableA? Я использую класс tableA для извлечения строки из tableA и строки из tableB, так как это реальное отношение один к одному.

NHibernate генерирует sql для присоединения к таблицам, используя tableA.aID = tableB.bID, который неправильно.

Это не работает:

<class name="tableA" table="tableA">
  <id name="aID" column="aID" />
  <property name="bID" column="bID" />
  <property name="c" column="c" />
  <property name="d" column="d" />
  <one-to-one name="otherThing" class="tableB" foreign-key="bID" />
</class>

<class name="tableB" table="tableB">
  <id name="bID" column="bID" />
  <property name="z" column="z" />
  <property name="y" column="y" />
  <property name="x" column="x" />
</class>
10
задан MonkeyWrench 6 October 2010 в 14:53
поделиться