Ich habe eine Viele-zu-Viele-Beziehung zwischen zwei Entitäten. Im Rahmen eines Batch-Prozesses erstelle ich eine große Anzahl dieser Entitäten und verknüpfe sie miteinander. Dies ist ein IStatelessSession
.NHibernate IStatelessSession und Viele-zu-Viele-Beziehungen
Ich verwende NHibernate 3.0.
Instanzen:
class Entity1
{
ICollection<Entity2> Entities { get; set; }
}
class Entity2
{
ICollection<Entity1> Entities { get; set; }
}
Grundsätzlich ist der Batch-Code sieht ungefähr so aus:
var entity1 = new Entity1();
var entity2 = new Entity2();
entity1.Entities.Add(entity2);
entity2.Entities.Add(entity1);
Session.Insert(entity1); // IStatelessSession.Insert
Session.Insert(entity2);
Die beiden Entitäten korrekt beibehalten werden, aber die Beziehung Tisch zwischen ihnen nicht mit der Beziehung zwischen den beiden aktualisiert Entitäten.
Ich verstehe, dass dies mit der Tatsache zu tun hat, dass zustandslose Sitzungen die Objekte nicht verfolgen. Aber wie würde ich eine Viele-zu-Viele-Persistenz erreichen?
Ich bin nicht sicher, dass es mit den statusfreien Sitzungen zu tun hat. Können Sie Ihre Mapping-Datei posten? – mcabral