Есть ли преимущество в использовании пружинных DataAccessExceptions вместо JPA PersistenceExceptions? - PullRequest
1 голос
/ 03 марта 2010

Я использую JPA в моих DAO вне Spring. Платформа Spring определяет исключения DataAccessException, которые не зависят от реализаций баз данных. Есть ли какое-либо преимущество для пользователя, не являющегося Spring, в использовании исключений доступа к данным Spring вместо JPA?

Я предполагаю, что Spring DataAccessExceptions существуют, так как Spring обрабатывает несколько подслоев (таких как Hibernate, Jpa, jdo, jdbc) и что стек исключений доступа к данным Spring полезен, только если в моем приложении есть DAO, использующие несколько технологий, которые не имеют общего стандартный интерфейс (такой JPA).

Я прав?

1 Ответ

2 голосов
/ 03 марта 2010

Я бы сказал, что вы в значительной степени там. Другое преимущество состоит в том, что существует семейство исключений DataAccessExceptions (CleanupFailure, SQLGrammar и т. Д.), Поэтому DAO можно запрограммировать так, чтобы он явно перехватывал конкретное исключение, которое вы могли ожидать.

Но поскольку вы обычно не ожидаете ошибки доступа к данным, вы все равно обычно оставляете ее необработанной, поэтому обычно не требуется полное назначение DataAccessException.

(Раньше я был большим поклонником иерархии DataAccessException, но я действительно нуждался в этом настолько редко, что теперь я счастлив иметь дело с необработанным JPAException).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...