Hallo,
Innerhalb meiner Anwendung kann ein Benutzer über mehrere Eingabemasken Daten erfassen. Während er diese Daten erfasst, sollen diese Daten noch nicht für andere sichtbar sein. Das Erfassen dieser Daten kann sich durchaus hinziehen.
In Hibernate werden solche langlebigen Transaktionen Konversationen genannt und es gibt mehrere Möglichkeiten, sowas zu realisieren.
Nun habe ich aber ein Problem: Der selbe Benutzer, der gerade Daten erfasst, soll innerhalb der Anwendung auch in der Lage sein, Anfragen an den Datenbestand zu stellen (z.B. eine Liste aller Datensätze abrufen, die bestimmte Kriterien erfüllen), und soll in den Ergebnislisten bereits die Änderungen sehen, die sich durch seine Erfassung ergeben würden.
Andere Benutzer dagegen sollen die Daten bei Abfragen im Ursprungszustand sehen.
Realisiere ich nun Konversationen so, dass ich die bearbeiteten Entities detache, dann werden diese in Ergebnissen von Datenbankanfragen nicht berücksichtigt.
Es müsste quasi einen Weg geben, veränderte Entities in Abfragen zu berücksichtigen, die innerhalb der selben Konversation liegen.
Gibt es da in Hibernate eine Lösung für?
Viele Grüße
Thorsten
|