2011-01-05 2 views

Antwort

15

Praktisch. Sie müssen also nicht jeden einzelnen Ihrer Operationen bezüglich Hibernate in try catch-Blöcke umbrechen.

Genommen von Java Persistence mit Hibernate:

Eine Geschichte von Ausnahmen - Ausnahmen und wie sie immer Ende in hitzigen Debatten zwischen Entwicklern Java behandelt werden sollen. Es ist nicht überraschend, dass Hibernate einige bemerkenswerte Geschichte auch hat. Bis zum Hibernate 3.x waren alle Ausnahmebedingungen, die von Hibernate ausgelöst wurden, checked exceptions, so dass jede Hibernate API den Entwickler zum Fangen zwang und Ausnahmen behandelte. Diese Strategie wurde von JDBC beeinflusst, die auch nur geprüfte Ausnahmen wirft. Allerdings wurde es bald klar, dass dies Sinn macht, weil alle Ausnahmen von Hibernate ausgelöst werden tödlich sind. In vielen Fällen, die beste, die ein Entwickler in tun kann, ist diese Situation aufzuräumen, eine Fehlermeldung anzuzeigen und die Anwendung zu beenden. Daher, beginnend mit Hibernate 3.x, alle Ausnahmen von Hibernate sind Subtypen der ungeprüften Runtime-Ausnahme, die in der Regel an einem einzigen Speicherort in einer Anwendung behandelt wird. Dies macht auch alle Hibernate-Vorlage oder Wrapper-API obsolet.

+0

Quelle? ....... –

+0

@ T.J. Ja, es wäre gut, es hier zu haben. Ich weiß, dass ich das irgendwo gelesen habe. Wenn ich diese Quelle finde, poste ich sie hier. – darioo

+2

Eine der vielen dummen Entscheidungen von Hibernates Mitarbeitern. RuntimeExceptions sind unsichtbar, wenn sie in einen Thread geworfen werden: Der Thread wird nur spurlos beendet. RuntimeExceptions sind in einer Bibliothek verboten, das ist sehr schlechtes Design. –

Verwandte Themen