Quote:
Solange aber bei den einzelnen Usern immer der Cache befragt wird bekommen sie ja nicht mit
ob neue Objekte hinzugekommen sind.
Das mit den neuen Objecten stimmt nicht ganz so, wie es Du beschrieben hast, denn:
1. Wenn ein anderer User neue Objekte einfuegt und commited hat, dann berueckstichtigt Deine Query die neuen Datenssaetze auf jedem Fall (ausser Du arbeitest mit ISOLATION LEVEL SERIALIZABLE, was eher selten werwendet wird)
2. Wenn ein anderer User neue Objekte einfuegt und geflusht hat, und Du mit ISOLATION READ UNCOMMITTED (dirty reads) arbeitest, dann berueckstichtigt Deine Query die neuen Datenssaetze ebenfalls schon.
N.B.: Damit Deine Query die neuen Objekte berueckstichtigt, die Du selbst gerade in der Transaction eingefuegt hast,
musst Du dafuer sorgen dass zuerst geflush wird
(entweder implicit ueber createQuery("").setFlushMode(FlushMode.ALWAYS) oder explicit aufrufen)