多対多関係のリンクテーブルはNHibernateに挿入されません

私は以下のクラスを持っています:

Hotel: ID, ..., IList Photos
Photo: ID, Url

データベースには対応する "Hotels"と "Photos"テーブルとその間にあるIDを含むリンクテーブルがあります。

HotelPhotos: HotelPhotoID, HotelID (linked to PK HotelID from Hotels table),  PhotoID (linked to PK PhotoID from Photos table)

ホテルクラスの設定ファイルは次のとおりです:

...other fields mapped

   
   

ホテルに写真を追加/更新するたびに、写真とホテルのデータが正しく挿入されますが、HotelPhotosのテーブルは空のままです。 私は更新後にセッションをフラッシュしようとしましたが、設定ファイルから "逆"を取り除いて同じ結果を残して、設定ファイルで "バッグ"を "idbag"に設定しようとしました。

誰かが私を助けてくれますか?

タマス

EDIT The HotelPhoto class does not exist; only the link table HotelPhotos.

0
はい、あなたは正しいです。私は私の質問を編集しました。 (私は私のホテルのエンティティにもタグフィールドがありましたが、問題はどのリンクテーブルでも同じです)。
追加された 著者 Tamas Ionut,
あなたはHotelPhotosについて話しますが、あなたが示すマッピングはTagsのためのものです...
追加された 著者 Diego Mijelshon,
マッピングは引き続き別のテーブルを参照します。
追加された 著者 Diego Mijelshon,
table = "TravelRoutePhotos table = HotelPhotos でなければなりません。
追加された 著者 Firo,
あなたのオブジェクト間に双方向リンクがありますか?そうであれば、正しい方法でドットを接続していない可能性があります。バッグコレクションにアイテムを追加する方法のコードを投稿できますか?
追加された 著者 TedOnTheNet,

1 答え

マッピングを変更するときに間違って編集したかどうかは不明ですが、マッピングエントリはそのままでコードから修正する必要があります


また、 hotel.Photos.Add(写真); などを使用していることを確認する必要があります。あなたはあなたのマッピングについて正しいアイデアを得ているはずです。またPhotoクラスのホテルコレクションを必要としない限り、Photo.hbm.xmlの参照は必要ありません。

0
追加された