Spring具有内置的异常转换机制,因此JPA持久性提供程序抛出的所有异常都将转换为Spring的DataAccessException-对于所有使用@Repository注释(或配置)的bean。
主要分为四类:
NonTransientDataAccessException-这些是异常,除非更正异常的原因,否则重试同一操作将失败。因此,例如,如果传递不存在的ID,除非该ID存在于数据库中,否则它将失败。
RecoverableDataAccessException-这些与上一个的“相反”(在某些恢复步骤之后,它们是可恢复的异常)。API文档中的更多详细信息
scriptException-与SQL相关的异常,例如当尝试处理格式不正确的脚本时。
TransientDataAccessException-当无需任何明确步骤即可进行恢复时(例如,数据库超时时,将在几秒钟后重试),这是例外。
也就是说,查找有关所有异常的文档的理想场所-就是在API本身中-
只需遍历DataAccessException的层次结构即可。



