Nhibernate多对多在两侧添加

Nhibernate多对多在两侧添加,nhibernate,fluent-nhibernate,nhibernate-mapping,Nhibernate,Fluent Nhibernate,Nhibernate Mapping,我正在使用Nhibernate创建一个多对多实现。目前我有以下课程。在这两个类中,我都实现了AddObjX(Objx-obj)方法来将项目添加到集合中 Obj1 { int id; Ilist<Obj2> obj2; } Obj2 { int id; Ilist<Obj1> obj1; } 当我现在说 obj1.AddObj2(obj2); Session.SaveOrUpdate(obj1); 我只得到obj1->obj2之间的关联。因此,如果我检

我正在使用Nhibernate创建一个多对多实现。目前我有以下课程。在这两个类中,我都实现了
AddObjX(Objx-obj)
方法来将项目添加到集合中

Obj1
{
  int id;
  Ilist<Obj2> obj2;
}

Obj2
{
  int id;
  Ilist<Obj1> obj1;
}
当我现在说

obj1.AddObj2(obj2);
Session.SaveOrUpdate(obj1);
我只得到obj1->obj2之间的关联。因此,如果我检索obj2,则没有与之耦合的obj1。检索obj1时,有一个obj2连接到它

当我这样做的时候

obj1.AddObj2(obj2);
obj2.AddObj1(obj1);
Session.SaveOrUpdate(obj1);

我在两个场景中都有对象。这是设计好的还是我遗漏了什么?

您是否尝试过从第二个HasManyToMany中删除
逆项

好的,您应该只有一个逆,因为这指示映射的哪一侧负责插入

你也看这个

obj1.AddObj2(obj2);
obj2.AddObj1(obj1);
Session.SaveOrUpdate(obj1);