QueryDsl - Unterabfrage im Auflistungsausdruck

Ich benutze spring-data-jpa und querydsl (3.2.3)
Ich habe ein Szenario, in dem ich eine Reihe von Prädikaten basierend auf Benutzer-Filer / Input erstelle. All dies kommt zuBooleanExpression.

Mein vereinfachtes Modell sieht folgendermaßen aus:

@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
}

Nun, mit dieser Abfrage habe ich zu kämpfen:

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

Also im Grunde muss ich in UnterabfragenCollectionExpression Ein ähnliches Format, mit dem alle Unternehmensnummern abgerufen und in () -Ausdruck gesetzt werden.

Meine Federdaten-Repositories implementiertCustomQueryDslJpaRepository was sich wiederum erstrecktJpaRepository undQueryDslPredicateExecutor.
Ich hoffe, die Antwort darauf ist einfach, aber ich bin ziemlich neu bei querydsl und habe bisher keine Lösungen gefunden.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage