QueryDsl - subconsulta en la expresión de colección
Estoy usando spring-data-jpa y querydsl (3.2.3)
Tengo un escenario en el que estoy creando un conjunto de predicados basados en el archivo / entrada del usuario. Todo esto viene aBooleanExpression
.
Mi modelo simplificado tiene el siguiente aspecto:
@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
}
Ahora, con lo que estoy luchando es con esta consulta:
SELECT * FROM Invoice WHERE invoice.supplier.number in (SELECT number from Company where active=true)
Así que básicamente necesito subconsultar enCollectionExpression
formato similar que buscará todos los números de las empresas y lo configurará en la expresión in ().
Mis repositorios de datos de primavera implementanCustomQueryDslJpaRepository
que a su vez se extiendeJpaRepository
yQueryDslPredicateExecutor
.
Espero que la respuesta a esto sea sencilla, pero soy bastante nuevo en querydsl y no he encontrado las soluciones hasta ahora.