我目前正在从事一个在不同数据库上使用数据访问的项目。我们的主数据库通过 Hibernate 访问(通过Criteria
框架或 HQL 查询),但我们也可以使用普通的 JDBC/SQL 查询(通过 Spring-Jdbc)访问其他数据库。
对于我们的一些 JDBC 调用,我们不得不处理 DAO 层抛出一些 Spring runtime 风格的可能性TransientDataAccessException
,比如DeadlockLoserDataAccessException
, 或CannotAcquireLockException
.
我的问题:我们是否应该为 Hibernate DAO 抛出的类似异常做准备?编写会出现此类异常的测试非常困难,如果无法抛出它们,我不想为这些异常构建支持。如果可以,具体有哪些例外?你怎么看?