不等于 Spring 启动 REST/JPA 服务的查询

Not Equals Query on Spring Boot REST/JPA Service

我是 Spring Boot 的新手,我已经创建了一个使用 JPA 的非常基本的 REST 服务,并为我的模型上的 CRUD 和查询操作公开了 RepositoryRestResource:

@RepositoryRestResource
public interface CatalogueOrderRepository extends JpaRepository<CatalogueOrder, Long>,
    QuerydslPredicateExecutor<CatalogueOrder> {

}

使用它,我能够执行涉及搜索值、分页和排序的查询,例如:

?page=0&size=5&sort=priority,desc&orderStatus=submitted

是否可以在不进行任何额外工作的情况下搜索不相等的值?例如,orderStatus 不等于 'submitted'.

的所有订单

我注意到 Predicate 接口有一个 not() 方法,但我不确定它是否相关。

对于这种情况你应该做一些工作。有不同的方法可以做到这一点。请参阅 Spring 有关 JPA 的文档和示例。

例如你可以使用 @Query or specifications.

你可以试试"Query creation from method names".

假设您想按订单状态 <> 提交搜索订单,

List<Order> findByOrderstatusNot(String orderstatus);