The problem probably lies in LoadQueryJoinAndFetchProcessor.renderManyToManyJoin, which
- calls JoinFragment.addCondition(manyToManyFilter),
- which feeds the "where" condition,
while QueryJoinFragment.addJoin
- calls JoinFragment.addJoin(..., conditionsAndManyToManyFilters) for outer joins,
- which feeds the "on".
- (OuterJoinable.addManyToManyJoin -> ... -> QueryJoinFragment.addJoin)
|