QueryDsl - подзапрос в выражении коллекции

Я использую spring-data-jpa и querydsl (3.2.3)
У меня есть сценарий, в котором я создаю набор предикатов на основе пользовательского файла / ввода. Все это приходит кBooleanExpression.

Моя упрощенная модель выглядит следующим образом:

@Entity
public class Invoice {
    @ManyToOne
    private Supplier supplier;
}

@Entity
public class Supplier {
    private String number;
}

@Entity
public class Company {
    private String number;
    private boolean active
}

Теперь, с чем я борюсь, это запрос:

SELECT * FROM Invoice WHERE invoice.supplier.number in (SELECT number from Company where active=true)

Так что в основном мне нужно подзапрос вCollectionExpression как формат, который извлекает номера всех компаний и устанавливает их в выражении in ().

Мои хранилища данных Spring реализуютCustomQueryDslJpaRepository который в свою очередь расширяетсяJpaRepository а такжеQueryDslPredicateExecutor.
Я надеюсь, что ответ на этот вопрос прост, но я довольно новичок в querydsl и не нашел решений до сих пор.

Ответы на вопрос(2)

Ваш ответ на вопрос