Semmerl wrote:
Im Prinzip muss ich einfach in einer Transaktion zuerst in eine Tabelle A etwas einfügen (Diese Tabelle A besteht aus einer ID und einem Varchar Feld) und danach in einer weitere Tabelle B, die mit der ersten tabelle A via many-to-one verbunden ist, die ID von A (die gerade in A eingefügt wurde) als Foreign Key in Tabelle B einfügen?
Wie so oft ist vermutlich die Lösung gar nicht so schwer, ich muss aber das Problem verstehen...
Verstehe ich richtig aus deiner Aussage, dass innerhalb derselben Transaktion (und Session) in A und B eingefügt wurde?
Ich hatte nämlich ursprünglich verstanden, dass es zwei unterschiedliche Transaktionen/Session sind.
Wenn wir das Thema Benutzeroberfläche und Popup vorerst beiseite lassen, ist das Szenario, was du beschreibst für Hibernate kein Problem (wenn das Mapping stimmt natürlich). Du schreibst einfach (sinngemäß):
Code:
A a = new A();
...
session.save(a);
...
B b = new B();
...
b.setA(a);
...
session.save(b);
...
und alles ist gut...
Jetzt ist das Problem, dass an einigen Stellen, wo oben
... steht, anscheinend Roundtrips zwischen Oberfläche und Server passieren - und ich einfach zu wenig über deine Applikation weiß/verstehe, um sagen zu können, wie du dieses Szenario adaptieren kannst/muss.
Hoffe es ist für dich etwas Verwertbares dabei...
Erik