QueryDsl - subconsulta na expressão de coleção
Estou usando spring-data-jpa e querydsl (3.2.3)
Eu tenho um cenário em que estou criando um conjunto de predicados com base no arquivador / entrada do usuário. Tudo isso vem paraBooleanExpression
.
Meu modelo simplificado tem a seguinte aparência:
@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
}
Agora, o que eu estou lutando é com esta consulta:
SELECT * FROM Invoice WHERE invoice.supplier.number in (SELECT number from Company where active=true)
Então, basicamente, eu preciso subconsultarCollectionExpression
como formato que buscará todos os números de empresas e o definirá na expressão ().
Meus repositórios de dados de primavera implementamCustomQueryDslJpaRepository
que por sua vez se estendeJpaRepository
eQueryDslPredicateExecutor
.
Espero que a resposta seja clara, mas sou novo no querydsl e não encontrei as soluções até agora.