Условие соединения Querydsl - PullRequest
0 голосов
/ 18 мая 2018

Я использую querydsl с Spring JPA.Я хочу найти сущности, у которых есть подпункт с двумя условиями.Этот код работает с одним условием (то есть any.selected.isTrue ()).Однако они не работают вместе.Как можно выразить такой запрос с помощью querydsl?

QSub any = exp.sub.any();
    builder.and(
        any.selected.isTrue().and(any.sub.person.id.eq(user.getId()))));

, где builder - это логический строитель.

1 Ответ

0 голосов
/ 22 мая 2018

Я обнаружил, что (как и предлагалось в других публикациях) создание подзапроса решило проблему:

JPQLQuery<Tuple> where = JPAExpressions.select().from(QSub.sub).where(QSub.sub.id.eq(QMain.main.id), QSub.sub.selected.isTrue(), QSub.sub.userId.eq(user.getId()));

«Где» может быть добавлено в логический компоновщик в качестве условия.

...