我正在使用spring-data-jpa存储库进行数据库操作。如果存储库中所有方法的数据库中都不存在对象,我想抛出异常。例如,在OrderRepository
中考虑以下方法
findByCustomerAndPayment(Customer customer, Payment payment);
我想查询所有基于customerId和paymentId的订单。在上面的查询中,两个对象都是必需的。但是,如果我给出了cutomerId在数据库中不存在的信息,spring-data-rest将返回null。如果数据库中不存在对象,我期望spring-data-rest引发异常。
如何实现呢?
最佳答案
您只需要或ElseThrow
orderRepository.findByCustomerAndPayment(customer, payment).orElseThrow(() -> new ResourceNotFoundException("customer", "id", customer.getId()));
关于spring - 如何在Spring Data JPA中的搜索方法上引发异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39849574/