Spring JPA Спецификация Где условие скобка - PullRequest
0 голосов
/ 15 марта 2019

Как я могу использовать пружину JPA Спецификация для условия, как показано ниже:

Где cond1 и (cond2 или cond3)

И

Где (cond1 и cond2) или cond3 .

Код спецификации, как показано ниже:

Specification<DocRecord> updatedAtAndCountGTZeroSpec = new Specification<DocRecord>() {

    @Override
    public Predicate toPredicate(Root<DocRecord> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
        return cb.or(
            (cb.and(
                cb.lessThanOrEqualTo(root.get("updatedAt"),new Timestamp(now.getTimeInMillis())),
                cb.lessThan(root.get("attemptCount"), 3))
            ),
            (cb.equal(root.get("attemptCount"), 0))
        );
    }
};

выше - производство, где условие как ниже:

где docrecord0_.updated_at <? и docrecord0_.attempt_count <3 или docrecord0_.attempt_count = 0 </strong>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...