hey,...
also eigentl. sind das 2 verschiedene Themen aber ich wollt nicht extra 2 Beiträge dafür auf machen daher frage ich einfach mal in einem Thread
Also erst einmal zur Nested Exception... ich teste mich gerade mit EJB / JPA voran nun hab ich das Problem, dass die "EntityExistsException" (z.b. wenn man etwas einfügen will, was es schon mit der ID gibt) in einer RollbackException versteckt ist, diese wiederum in einer EJBException steckt.
Mir geht es nun darum, wie man solche Exceptions nun am Besten behandelt. Im Moment mache ich das so, dass ich im Catch- Block die oberste Exception fange und dann per getCause() so tief gehe bis ich bei meiner Exception bin und dann diese noch mal mit "instanceof" überprüfe. Das klappt auch soweit aber gibt es dafür noch eine geschicktere Lösung, solche NestedExceptions zu behandeln?
--------
Frage 2 (Mehrbenutzer):
Nehmen wir an, wir haben eine Webanwendung, die Personen in einer einfachen Tabelle anzeigt, diese man auch bearbeiten kann. Beim Aufruf der Seite wird eine Liste aller Personen aus der Datenbank geladen und angezeigt. So weit, so gut. Nun meine Frage,... wie stellt man nun am Besten sicher, dass nicht ein anderer User in der Zeit das Objekt was man bearbeitet hat, gelöscht oder eben selber verändert hat ?
Mir fallen zu dem Thema jetzt Sperren ein, obwohl die Sperren ja eigentl. nicht wirklich relevant sind, da man ja nach der Anzeige nicht die ganze Zeit ne Transaktion auf hat und zum Speichern der Änderung eine neue Transaktion macht.
Oder was ich im Moment mache, ich schaue, ob das Objekt noch besteht und führe es dann zusammen.
Wenn man das Thema weiterführt könnte man auch noch eine zweite Tabelle Wohnort dazu nehmen, welcher bei der Person in einer Liste angezeigt wird, wie stellt man nun z.b. sicher, dass nicht ein anderer User in der Zeit einfach den Wohnort in der Datenbank löscht und wenn man diesen dann verknüpfen will bzw. Persistent machen will bei der Suche keinen Wohnort hat, der so heißt, wie man ihn ausgewählt hat.
Ich hoffe ihr hab soweit verstanden, worauf ich hinaus will
Ihr könnt mir auch gerne Links posten, wenn ihr kein Bock habt zu lange Texte zu schreiben
danke schon mal für eure Hilfe im vorraus.
also eigentl. sind das 2 verschiedene Themen aber ich wollt nicht extra 2 Beiträge dafür auf machen daher frage ich einfach mal in einem Thread
Also erst einmal zur Nested Exception... ich teste mich gerade mit EJB / JPA voran nun hab ich das Problem, dass die "EntityExistsException" (z.b. wenn man etwas einfügen will, was es schon mit der ID gibt) in einer RollbackException versteckt ist, diese wiederum in einer EJBException steckt.
Mir geht es nun darum, wie man solche Exceptions nun am Besten behandelt. Im Moment mache ich das so, dass ich im Catch- Block die oberste Exception fange und dann per getCause() so tief gehe bis ich bei meiner Exception bin und dann diese noch mal mit "instanceof" überprüfe. Das klappt auch soweit aber gibt es dafür noch eine geschicktere Lösung, solche NestedExceptions zu behandeln?
--------
Frage 2 (Mehrbenutzer):
Nehmen wir an, wir haben eine Webanwendung, die Personen in einer einfachen Tabelle anzeigt, diese man auch bearbeiten kann. Beim Aufruf der Seite wird eine Liste aller Personen aus der Datenbank geladen und angezeigt. So weit, so gut. Nun meine Frage,... wie stellt man nun am Besten sicher, dass nicht ein anderer User in der Zeit das Objekt was man bearbeitet hat, gelöscht oder eben selber verändert hat ?
Mir fallen zu dem Thema jetzt Sperren ein, obwohl die Sperren ja eigentl. nicht wirklich relevant sind, da man ja nach der Anzeige nicht die ganze Zeit ne Transaktion auf hat und zum Speichern der Änderung eine neue Transaktion macht.
Oder was ich im Moment mache, ich schaue, ob das Objekt noch besteht und führe es dann zusammen.
Wenn man das Thema weiterführt könnte man auch noch eine zweite Tabelle Wohnort dazu nehmen, welcher bei der Person in einer Liste angezeigt wird, wie stellt man nun z.b. sicher, dass nicht ein anderer User in der Zeit einfach den Wohnort in der Datenbank löscht und wenn man diesen dann verknüpfen will bzw. Persistent machen will bei der Suche keinen Wohnort hat, der so heißt, wie man ihn ausgewählt hat.
Ich hoffe ihr hab soweit verstanden, worauf ich hinaus will
Ihr könnt mir auch gerne Links posten, wenn ihr kein Bock habt zu lange Texte zu schreiben
danke schon mal für eure Hilfe im vorraus.