@Vlad Mihalcea yes that is the workaround we are using. @Steve Ebersole I understand and completely agree with the fact that an implicit join in JPQL results in an inner join in SQL. I question however whether this example represents an implicit join at all. Your excerpt from the specification is about non-terminal fields, which i think refers to initial and intermediate path elements in an expression like a.b.c (a and b but not c), but this does not apply to my query, because `child` is the terminal field. The point of my last comment was about consistency. If you support the where clause `child.parent is null` (which i believe you do, I will make sure tomorrow at let you know) then you should equally support the where clause `parent.child is null`. Also you pointed out that "implicit join == inner join", which is exactly why I think that this case should not be considered to be an implicit join, because the correct SQL would not have a join at all. I think this is very similar to the `parent.children is empty` expression of a one-to-many relation and not an implicit join for the same reason the `is empty` expression is not an implicit join. |