否定Spring Data JPA规范

时间:2015-12-21 22:56:13

标签: java spring hibernate spring-data-jpa

我使用org.springframework.data.jpa.domain.Specification并匿名实施toPredicate(…)

Someclass {
    public static Specification<SomeObject> getSth() {
         return Specifications.where(mainFilter()).and(secondFilter())
    }

    private static Specification<SomeObject> mainFilter() {
         // …
    }

    private static Specification<SomeObject> secondFilter() {
         return new Specification<SomeObject>() {
               @Override
               Predicate toPredicate(Root<ReportOrder> root,
                    CriteriaQuery<?> query, CriteriaBuilder cb) {

                        JoinMap.
                        // … blah blah blah …

                    query.distinct();
               }
         }
    }
}

我有否定secondFilter()的问题。如果我只对secondFilter()使用repository.findAll(…),我会得到一个元素。我希望如果我使用Specifications.not(secondFilter())我会得到除了一个以外的所有,但我会得到所有。

0 个答案:

没有答案