我有这个Spring Data CrudRepository来处理数据库上的CRUD操作.
@Repository
public interface IUserRepository extends CrudRepository<User, String> {
}
Run Code Online (Sandbox Code Playgroud)
User是我的数据库的用户表的实体.CrudRepository将以下操作添加到存储库:
delete(String ID)findOne(String ID)save(User user)如文档中所述IllegalArgumentException,如果给定的id为null ,则delete和find操作抛出,而save操作不会抛出任何异常.
问题是CrudRepository的javadoc没有提到这些操作抛出的其他异常.例如,如果DB中不存在提供的ID ,则不会告诉delete(String ID)操作抛出该操作EmptyResultDataAccessException.
在save(User user)操作的javadoc中,如果插入一个破坏一个数据完整性约束的新用户(在唯一字段和外键上),则不清楚抛出哪些异常.此外,它不会警告您是否正在编写新用户或现有用户:它只是创建一个新用户或覆盖(如果存在)(因此它是一个插入+更新操作).
在企业应用程序中,我应该能够捕获操作可以抛出的每个可抛出的异常,我应该在操作的javadoc中读到它.
您是否知道有关CrudRepository异常的任何明确文档?
谢谢
我想知道Spring JPA在尝试将对象保存到数据库时是否抛出了什么类型的错误.JpaRepository.java说要查看org.springframework.data.repository.CrudRepository#save.但是,我似乎无法找到抛出什么类型的错误,如果有的话.如果没有抛出错误,我该如何检查保存是否成功?
任何见解都会非常感激.