The condition on the discriminator column is placed in the WHERE clause when using arbitrary join syntax, which renders LEFT JOINs useless.
Given these classes:
A - no inheritance
B1 - abstract, root of a hierarchy, discriminator column is named 'type'
I setup a query builder like this:
The problems is that the WHERE condition makes the left join useless.
The condition on the discriminator column should be placed in the JOIN clause to avoid the problem.