私はSpringアプリケーションを作成しています。データベースエラーが発生したときに、HibernateのConstraintViolationException
がスローされ、時にはSpringのDataIntegrityViolationException
がスローされるようです。誰かが投げられる理由はありますか?彼らは違うことを意味しますか?ConstraintViolationException VS DataIntegrityViolationException
6
A
答えて
4
HibernateTemplate
経由でHibernate呼び出しを実行すると、Springは任意のHibernate例外(例:ConstraintViolationException
)をSpring例外階層(たとえばDataIntegrityViolationException
)に変換します。 HibernateTemplate
を使用しないと、ネイティブのHibernate例外が処理されます。どちらもRuntimeExceptions
なので、明示的な例外処理は必要ありませんので、どちらが表示されるかは必ずしも明らかではありません。
関連する問題
- 1. Uncatchable ConstraintViolationException(com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException)
- 2. ConstraintViolationException - 例外
- 3. Hibernate ConstraintViolationExceptionが削除時
- 4. _mm_load_ps vs. _mm_load_pd vs.
- 5. Quartz.NET vs JAMS vs?
- 6. NetSqlAzMan vs AzMan vs(?????)
- 7. hstack/vstack vs append vs concatenate vs column_stack
- 8. 場所vs GeoPoint vs 1E6 vs課金
- 9. Application.Exit()vs Application.ExitThread()vs Environment.Exit()
- 10. getBBox()vs getClientRects()vs getClientRects()
- 11. tcsh:ls vs pwd vs cd
- 12. xprofile vs xsession vs xinitrc
- 13. Express.js:app.locals vs req.locals vs req.session
- 14. Zabbix vs grafana vs kibana
私は 'HibernateTemplate'を使用していませんが、プライマリキーに違反した場合のみ、Springのラッパー例外が発生します。その他のユニークなキー違反は、Hibernateの例外を引き起こします。コードは同じです - 違反した問題の鍵のタイプだけです。 –
DAOで@Repositoryアノテーションを使用していますか? – cyotee