-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 
Author Message
 Post subject: Frage zu Webapps und Hibernate
PostPosted: Fri Apr 27, 2007 5:20 pm 
Newbie

Joined: Fri Apr 27, 2007 5:05 pm
Posts: 7
Huhu,
ich hab wohl eine Anfängerfrage, jedoch weiss ich nicht genau wie ich mein Problem lösen kann.
Also, gegeben sei sei eine Webapplikation, die nach dem Einloggen des Nutzers A ein Nutzerobjekt User in die Session legt. Nimmt Nutzer A Änderungen vor wird zur Zeit das Nutzerobjekt User per saveOrUpdate in die DB gespeichert und zeitgleich in der Session aktualisiert. Somit muss selten per read auf die Datenbank zugegriffen werden.

Solange nur Nutzer A sich nur einmal anmeldet und seine Daten bearbeitet geht das gut. Loggt der Nutzer A 2x ein erzeugt er somit 2 Sessions, die jeweils Nutzerobjekte enthalten können, die nicht den Daten der Datenbank entsprechen (könnten).

Da der Nutzer sich mehrmals ans System anmelden darf, müsste ich bei jedem Zugriff auf ein Nutzerobjekt in der Session diese mit der Datenbank synchronisieren, damit garantiert die korrekten Daten angezeigt werden. Gibts dafür evtl ein Pattern oder ein Best Practice? Ich hoffe ihr könnt mir ein paar Denkanstöße geben.

Danke :)


Top
 Profile  
 
 Post subject:
PostPosted: Wed May 02, 2007 8:12 am 
Regular
Regular

Joined: Thu Jan 27, 2005 8:58 am
Posts: 80
HI, les dir mal die Abschnitte zum Caching und zum Second-Level-Caching von Hibernate durch. Das könnte Dir helfen denn Hibernate greift selten auf die DB zu und hält stattdessen die Objekte in seinem eigenen Cache, daher könntest Du von Zeit zu Zeit das Objekt wieder an eine Session binden und per refresh() mit dem Cache abgleichen. Ansonsten würde ich mit Versionierung der Objekte (mit eigener DB-Spalte) arbeiten. Startest Du ein Update, so kann Hibernate mithilfe dieser Spalte automatisch erkennen, dass sich die Version die Du speichern möchtest vom Zahlenwert älter ist als die, die bereits in der DB steht. Dies kannst Du dann entsprechend behandeln.

_________________
Weise ist nicht, wer viele Erfahrungen macht, sondern wer aus wenigen lernt, viele nicht machen zu müssen. (Karlheinz Deschner)


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 2 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.