+-
如何在spring数据jpa中抛出搜索方法的异常
我正在使用 spring-data-jpa存储库进行数据库操作.如果数据库中的对象不存在于我的存储库中的所有方法,我想抛出异常.例如,在OrderRepository中考虑以下方法

findByCustomerAndPayment(Customer customer, Payment payment);

我想基于customerId和paymentId查询所有订单.这些对象在上述查询中都是必要的.但是如果我在数据库中不存在cutomerId,则spring-data-rest返回null.如果数据库中不存在对象,我希望spring-data-rest抛出异常.

怎么做到这一点?

最佳答案
如果您使用的是Java 8,则可以使用Optional< Order>作为存储库方法的返回类型.如果存储库方法返回一个空的可选调用get,它将抛出NoSuchElementException.否则,如果没有结果,则不支持通过存储库方法抛出异常.

try {
  Optional<Order> result = repository.findByCustomerAndPayment(customer,payment);
  Order order = result.get();
} catch(NoSuchElementException e) {
  // do something with the exception
}
点击查看更多相关文章

转载注明原文:如何在spring数据jpa中抛出搜索方法的异常 - 乐贴网