JPA 仕様では、システム例外とアプリケーション例外が区別されています。線が正確にどこに描かれているかについて少し混乱しています。私の推測:
アプリケーション例外は、コードまたはコードで使用されるライブラリが明示的または暗黙的にスローする例外です。
- これには、ソースに関係なく、すべての例外、ランタイム、およびチェックが含まれますか?
システム例外は、おそらく持続性プロバイダーによってスローされた例外です。のすべてのサブクラスが確実に含まれていますjavax.persistence.PersistenceException
。
- プロバイダー コードによってスローされるその他の例外についてはどうでしょうか。
- 他の Java EE ライブラリによってスローされた例外はどうですか?
- 例外がラップされている場合、違いはあり
EJBException
ますか?
ApplicationExceptionアノテーションを使用して動作に影響を与えるにはどうすればよいですか? まだ使っているのを見たことがない。