我正在使用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/

10-14 11:31