В настоящее время я работаю над проектом, который использует доступ к данным в разных базах данных. Наша основная база данных доступна через Hibernate (либо через фреймворк Criteria
, либо через HQL-запросы), но у нас также есть доступ к другим базам данных с использованием простых запросов JDBC / SQL (через Spring-Jdbc).
Для некоторых наших вызовов JDBC нам приходилось сталкиваться с возможностью того, что слой DAO выбрасывает некоторые разновидности среды выполнения Spring TransientDataAccessException
, например DeadlockLoserDataAccessException
или CannotAcquireLockException
.
Мой вопрос: Должны ли мы планировать аналогичные исключения, выдаваемые DAO Hibernate? Очень сложно написать тесты, которые бы показывали такие исключения, и я не хочу создавать поддержку для них, если они не могут быть выброшены. И если они могут, какие именно исключения? Что ты думаешь?