我有这个 Spring Data CrudRepository
,用于处理数据库上的CRUD操作。
@Repository
public interface IUserRepository extends CrudRepository<User, String> {
}
User
是我的数据库中用户表的实体。 CrudRepository
向存储库添加以下操作:
delete(String ID)
findOne(String ID)
save(User user)
根据文档,删除和查找操作在给定的ID为空时会抛出IllegalArgumentException
异常,而保存操作不会抛出任何异常。
问题在于CrudRepository的javadoc没有提到这些操作抛出的其他异常。例如,它没有说明delete(String ID)
操作在所提供的ID不存在于DB中时会抛出EmptyResultDataAccessException
异常。
在save(User user)
操作的javadoc中,不清楚在插入违反一些数据完整性约束的新用户时抛出哪些异常(如唯一字段和外键)。此外,它也没有警告你是否正在写入新用户或现有用户:它只是创建一个新用户或者覆盖现有用户(因此它是插入加更新操作)。
在企业应用程序中,我应该能够捕获每个操作可能引发的可抛出异常,并且我应该在操作的javadoc中了解到这一点。
您知道有关CrudRepository
异常的任何清晰文档吗?