Ich schreibe eine Spring-App, und es scheint, dass wenn ich in Datenbankfehler, manchmal Hibernate ConstraintViolationException
geworfen wird und manchmal Spring DataIntegrityViolationException
geworfen wird. Gibt es einen Grund dafür, dass man geworfen wird und nicht der andere? Bedeutet das verschiedene Dinge?ConstraintViolationException VS DataIntegrityViolationException
6
A
Antwort
4
Wenn Sie Hibernate-Aufrufe über die HibernateTemplate
ausführen, übersetzt Spring alle Hibernate-Ausnahmen (z. B. ConstraintViolationException
) in die Spring-Ausnahmehierarchie (z. B. DataIntegrityViolationException
). Wenn Sie nicht HibernateTemplate
verwenden, werden die nativen Hibernate-Ausnahmen durchlaufen. Beide sind RuntimeExceptions
, also brauchen Sie keine explizite Ausnahmebehandlung, also ist es nicht immer offensichtlich, welche Sie sehen werden.
Verwandte Themen
- 1. Arbeiten mit Hibernate ConstraintViolationException
- 2. Feldname extrahieren verursacht ConstraintViolationException
- 3. Hibernate ConstraintViolationException on delete
- 4. DataIntegrityViolationException: selbe ID mit CRUDRepository
- 5. Wie behandelt DataIntegrityViolationException im Frühjahr?
- 6. Hibernate ConstraintViolationException in Join-Tabelle
- 7. Wie konstruiere ich eine ConstraintViolationException?
- 8. ConstraintViolationException kann nicht abgefangen werden
- 9. kann DataIntegrityViolationException mit umbrochener Transaktion nicht abfangen
- 10. Wie können wir die DataIntegrityViolationException in Spring Hibernate lösen?
- 11. DataIntegrityViolationException konnte nicht mit Spring Data abgefangen werden REST
- 12. ConstraintViolationException: NOT NULL bei Verwendung von Spring, HSQL und Hibernate
- 13. Das Aktualisieren eines untergeordneten Objekts in einer Speicherkaskade führt zu ConstraintViolationException mithilfe des Quelldatenrepositorys.
- 14. Klasse vs Paket vs Modul vs Komponente vs Container vs Service vs Plattform in Java Welt
- 15. Opa vs Dart vs Haxe vs Coffee
- 16. Akkumulieren vs falten vs reduzieren vs komprimieren
- 17. body.scrollTop vs documentElement.scrollTop vs window.pagYOffset vs window.scrollY
- 18. ACE vs Boost vs Poco vs wxWidgets
- 19. Inline vs __inline vs __inline__ vs __forceinline?
- 20. Metaphon vs Levenshtein vs Soundex vs Hamming
- 21. Standort vs GeoPoint vs 1E6 vs Aufladen
- 22. VS 2013 MSTest vs nUnit vs xUnit
- 23. Exec vs ExecWait vs ExecShell vs nsExec :: Exec vs nsExec :: ExecToLog vs nsExec :: ExecToStack vs ExecDos vs ExeCmd
- 24. SpiderMonkey vs JavaScriptCore vs?
- 25. & vs * und | vs +
- 26. Bundler vs RVM vs Gems vs RubyGems vs Gemsets vs System Ruby
- 27. Mathematica: Unevaluated vs Aufschieben vs Halten vs Holdform vs HoldAllComplete vs etc etc
- 28. ScheduledExecutorService vs Timer vs Handler
- 29. HttpRequest vs HttpRequestMessage vs HttpRequestBase
- 30. pycuda vs theano vs pylearn2
Ich verwende nicht 'HibernateTemplate', aber ich bekomme Spring Wrapper Ausnahme nur, wenn der Primärschlüssel verletzt wird. Andere eindeutige Schlüsselverletzungen führen zur Ausnahme von Hibernate. Der Code ist identisch - nur der Typ des Schlüssels, der verletzt wird, ist wichtig. –
Verwenden Sie die @ Repository-Annotation auf Ihrem DAO? – cyotee