Спецификация JPA различает системные исключения и исключения приложений. Я немного смущен тем, где линия рисуется точно. Мой пример:
Исключение приложения - это исключение, которое ваш код или библиотеки, используемые вашим кодом, бросаются явно или неявно.
- Включает ли это все исключения, время выполнения и проверяется независимо от источника?
Системное исключение, вероятно, является исключением, созданным поставщиком непрерывности. Он, безусловно, содержит все подклассы javax.persistence.PersistenceException
.
- Как насчет других исключений, брошенных кодом провайдера?
- Как насчет исключений, создаваемых другими библиотеками Java EE?
- Имеет ли значение, если исключение обернуто в
EJBException
?
Как я могу повлиять на поведение, используя аннотацию ApplicationException? Я никогда не видел, чтобы его использовали.