一部のバージョンでは、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. dbmlがテーブルのリレーション名を変更した理由
- 2. HibernateのsessionFactoryがスレッドセーフである理由
- 3. HibernateException:スレッドにバインドされているHibernateセッションがありません
- 4. 要求caretRectForPosition:NSTextStorageは、未処理の変更
- 5. @EmbeddableをHibernateで使用する理由
- 6. @OneToManyがHibernateの継承で動作しない理由
- 7. エスケープを押したときに入力値を変更できない理由
- 8. AndroidのビルドAPKが未処理のPNGファイルを変更する
- 9. Android GPSの最初の位置変更がonLocationChangedになった理由は?
- 10. カバールファイルが変更された場合、カバールビルドが失敗する理由
- 11. GIT - 変更点が未知の点で逆転しました
- 12. FormBuilderコントロールが「チェックされた後に式が変更されました」例外
- 13. Pythonモジュールのインポートは、未知の理由
- 14. MS AccessでDIMフォーマットを変更しない理由
- 15. バージョンコントロールの変更をコミットしない理由...
- 16. 未知の理由で静的変数がリセットされています
- 17. Tomcatがファイルの整合性をチェックする理由
- 18. DrupalビューのCSSクラス名が変更される理由
- 19. テーブルの列幅が変更される理由以下
- 20. ViewGroupのgetHeight()が変更されない理由
- 21. AngularJS - ドロップダウンで$イベントが変更されない理由
- 22. XElement Valueプロパティを\ r \ nから\ nに変更する理由
- 23. プロパティの名前を_propertyに変更する理由
- 24. ASP.NET 4.0ラジオボタンが変更されたイベントを1回だけチェックしました
- 25. Capistranoタスクの未定義変数のチェック
- 26. 変更を反映しないHibernate
- 27. 理由がないためにポイントxの値が変化します
- 28. gitで変更をチェックし、変更されたファイルをループするシェルスクリプト?
- 29. setIntervalを使用しているときにオブジェクトプロパティが未定義になった理由
- 30. DBMS_Schedulerジョブが失敗した理由
ソース? ....... –
@ T.J。うん、それは良いここにそれを持っているだろう。私はどこかでこれを読んでいることを知っているので、そのソースを見つけたらここに投稿します。 – darioo
Hibernateのスタッフの多くの愚かな決定の1つ。 RuntimeExceptionsは、スレッド内にスローされた場合は表示されません。トレースなしでスレッドを殺すだけです。 RuntimeExceptionsはライブラリでは禁止されていますが、これは非常に悪い設計です。 –