Почему полномочия EJB решили, что NoResultException
, полученный из getSingleResult()
метода JPA, должен быть системным исключением, а не типичным исключением приложения?
Метод getSingleResult()
мог бы использоваться для самых разных случаев, но вместо этого он был превращен в тот, с которым трудно работать в 99% случаев: вместо того, чтобы позволить этому исключению всплыть, я теперь Я должен ловить его везде и либо возвращать ноль, либо выдавать свое собственное исключение приложения, поскольку эквивалентное исключение приложения не существует по умолчанию. Этот дизайн кажется абсолютно невнимательным к повседневному использованию, а также поглощает совершенно хорошее имя исключения, которое я мог бы использовать вместо этого.
Какие сценарии будут иметь NoResultException
в качестве системного исключения? Предположение о том, что ресурс не существует, является общесистемной проблемой, кажется противоположным проекту RESTful.