NHibernate に正しいクエリを生成させることができません。1 対 1 の関係のために結合している 2 つのテーブルの主キーを使用し続けますが、テーブルの 1 つで外部キーを指定する方法がわかりません。
tableA tableB
{ aID, { bID,
bID, z,
c, y,
d } x }
したがって、tableA は tableA.bID = tableB.bID を使用して tableB に結合する必要があります。tableA のマッピングでこれを指定するにはどうすればよいですか? tableA クラスを使用して tableA から行を取得し、tableB から行を取得しています。これは実際の 1 対 1 の関係です。
NHibernate は tableA.aID = tableB.bID を使用してテーブルを結合するための SQL を生成しますが、これは間違っています。
これは動作しません:
<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>