无法让 NHibernate 生成正确的查询。它一直使用我为一对一关系加入的两个表的主键,我不知道如何在其中一个表中指定外键。
tableA tableB
{ aID, { bID,
bID, z,
c, y,
d } x }
所以 tableA 应该使用 tableA.bID = tableB.bID 加入 tableB。如何在 tableA 的映射中指定这个?我正在使用 tableA 类从 tableA 中检索一行,从 tableB 中检索一行,因为它是真正的一对一关系。
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>