2 つのエンティティ間に多対多の関係があります。バッチ プロセスの一環として、これらのエンティティを多数作成し、それらを関連付けています。これは を使用していIStatelessSession
ます。
NHibernate 3.0 を使用しています。
エンティティ:
class Entity1
{
ICollection<Entity2> Entities { get; set; }
}
class Entity2
{
ICollection<Entity1> Entities { get; set; }
}
基本的に、バッチ コードは次のようになります。
var entity1 = new Entity1();
var entity2 = new Entity2();
entity1.Entities.Add(entity2);
entity2.Entities.Add(entity1);
Session.Insert(entity1); // IStatelessSession.Insert
Session.Insert(entity2);
2 つのエンティティは正しく永続化されますが、それらの間の関係テーブルは 2 つのエンティティ間の関係で更新されません。
これは、ステートレス セッションがオブジェクトを追跡しないという事実に関係していることを理解しています。しかし、多対多の永続性を実現するにはどうすればよいでしょうか?