| I'm facing the same issue and apparently the query is fine: Original query using Mysema querydsl:
JPAQuery query = new JPAQuery(this.getEntityManager());
QCampaignEntity qCampaign = QCampaignEntity.campaignEntity;
QCampaignVersion qCampaignVersion = QCampaignVersion.campaignVersion;
BooleanBuilder builder = new BooleanBuilder();
builder.and(qCampaignVersion.introducers.contains(introducer));
builder.and(qCampaignVersion.brandings.contains(branding));
List<CampaignEntity> res = query
.from(qCampaign)
.innerJoin(qCampaign.activeVersion, qCampaignVersion)
.where(builder)
.list(qCampaign);
Generated JPA:
select campaignEntity
from CampaignEntity campaignEntity
inner join campaignEntity.activeVersion as campaignVersion
where ?1 in elements(campaignVersion.introducers) and
?1 in elements(campaignVersion.brandings)
Warning regards to introducers and brandings filter. Fyi, I'm using Hibernate 5.0.7, Mysema (querydsl-jpa) 3.7.2, and Wildfly 8.2 in Windows 10. After upgrading to the said Hibernate version, many queries started throwing this warning and it's just a big effort to refactor all of them (when possible) to use joins. |