一部のバージョンでは、Hibernateの例外がチェックされないように変更されています。理由は何ですか?これは哲学の問題か実践的な問題なのでしょうか?hibernateがHibernateExceptionを(未チェックに)変更した理由RuntimeException
12
A
答えて
15
実用的。したがって、try catchブロックでHibernateに関するすべての操作をラップする必要はありません。 - 例外 とそれらがどのようにJavaの 開発者の間で加熱された議論に常に の端を処理する必要があり
例外の歴史:Hibernateを使ったJavaの持続性から撮影
。 Hibernateには注目に値するいくつかの履歴があります。 も同様です。 Hibernate 3.xまで、Hibernateによってスローされたすべての 例外は のチェック例外でしたので、すべてのHibernate APIは、開発者にキャッチし、 例外を処理させました。この戦略はJDBCによって影響を受けた であり、 も例外ではありません。しかし、 は、これが完全ではないことが明らかになりました Hibernateによってスローされたすべての例外 は致命的です。多くの場合、 の場合、 で開発者ができることは最高です。この状況では、 と表示され、 アプリケーションが終了します。したがって、 Hibernate 3.xで始まり、Hibernateによって がスローされたすべての例外は、 のチェックされていないランタイム例外のサブタイプです。 は通常、アプリケーション内の単一の場所 で処理されます。これにより、いずれも、 HibernateテンプレートまたはラッパーAPI が廃止されます。
関連する問題
- 1. ClassDefFoundError:SpringBootアプリケーションのorg/hibernate/HibernateException
- 2. dbmlがテーブルのリレーション名を変更した理由
- 3. rawソケットが私のtcpチェックサムを変更した理由
- 4. Javascriptが未知の理由で動作していない、若干小さな変更を行った後に
- 5. HibernateのsessionFactoryがスレッドセーフである理由
- 6. Python配列が理由なしに値を変更する
- 7. パッケージ名を変更した後にjniが読み込まれない理由
- 8. が未知の理由(AutoItの)ために
- 9. バックグラウンドスレッドスローHibernateException - "スレッドにバインドされているHibernateセッションがありません"
- 10. HibernateException:スレッドにバインドされているHibernateセッションがありません
- 11. RuntimeExceptionベストプラクティスを処理する
- 12. ローカル変数が自動的に変更される理由
- 13. currentParentが未定義の理由
- 14. jsfiddleは未知の理由
- 15. BambooビルドでDateTimeフォーマットが変更された理由
- 16. Javascriptオブジェクトが変更されなかった理由
- 17. 「Android N WebViewの署名」が変更された理由
- 18. @EmbeddableをHibernateで使用する理由
- 19. ループ内のParseクエリで変数を使用したときに変数が値を変更しない理由
- 20. Angular2 rc6チェックした後に式が変更されました
- 21. 私のCSSが変更を表示しない理由
- 22. ngValueがngKeypressでモデルの変更を反映しない理由
- 23. jpaリポジトリ/ Hibernateが同じクエリをコンソールに書き込む理由
- 24. HibernateException-ドメインのインスタンスの識別子がXからYに変更されました
- 25. Azure WebServicesの導入理由を変更
- 26. Rが特殊文字を列名に変更する理由
- 27. @OneToManyがHibernateの継承で動作しない理由
- 28. ngIf - チェックされた後に式が変更されました
- 29. 式がチェックされた後に変更されました。
- 30. SHAが変更されたのにコミットメッセージが同じままである理由
ソース? ....... –
@ T.J。うん、それは良いここにそれを持っているだろう。私はどこかでこれを読んでいることを知っているので、そのソースを見つけたらここに投稿します。 – darioo
Hibernateのスタッフの多くの愚かな決定の1つ。 RuntimeExceptionsは、スレッド内にスローされた場合は表示されません。トレースなしでスレッドを殺すだけです。 RuntimeExceptionsはライブラリでは禁止されていますが、これは非常に悪い設計です。 –