クラスにマップしたいテーブルがいくつかあります。テーブルは次のようになります。
Asset
---------
AssetId
AssetName
Product
---------
ProductId
ProductName
AssetId
Disposal
---------
DisposalId
AssetId
DisposalDate
基本的に私がやりたいことは、Product テーブルを AssetId の Disposal テーブルに結合して、私の製品が資産によって結合された Disposal のコレクションを持つようにすることです。次のマッピングを定義しましたが、NHibernate (1.2) はバッグで定義されたキー列を無視しているようで、ProductId (つまり、Product.ProductId = Disposal.AssetId) によって Product テーブルを Disposal テーブルに結合することを選択します。これがバグなのか、それとも適切に定義していないのかはわかりませんが、誰かがこれを行う方法を持っているなら、私は最も素晴らしいでしょう.
<class name="Product" table="Product" lazy="false">
<id name="ProductId" column="ProductId" type="int">
<generator class="native" />
</id>
<property name="ProductName" column="ProductName"/>
<bag name="Disposals" fetch="join" >
<key column="AssetId" foreign-key="AssetId/>
<many-to-many class="Disposal"/>
</bag>
</class>