Search code examples
javaspring-bootjpaspring-data-jpanamed-query

Not Equals Query on Spring Boot REST/JPA Service


I'm brand new to Spring Boot, and I've created a very basic REST service that uses JPA, and exposes the RepositoryRestResource for CRUD and query operations on my model:

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

}

Using this, I'm able to perform queries that involve searching for values, pagination, and ordering, for instance:

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

Is it possible to search for values that are not equal, without any additional work? For instance, all orders where the orderStatus is NOT equal to 'submitted'.

I notice that the Predicate interface has a not() method, though I'm not sure if it's related.


Solution

  • You can try "Query creation from method names".

    Let's say you want to search Orders by orderstatus <> submitted,

    List<Order> findByOrderstatusNot(String orderstatus);