Actually i didn't expect a join here at all, I expected an exists subquery. If I unterstand that correctly `is null` and `is not null` don't ever make sense for any relation. In that case shouldn't this JPQL throw an exception rather than generating SQL that returns an empty resultset? Also if you have a where clause like `where child.parent is null` (rather than parent.child) is that considered to be an implicit join? Because no join is necessary and an inner join would make the where clause pointless. If `child.parent is null` is not considered to be an implicit join (and I think it isn't, because I think it doesn't generate a join) then why should `parent.child is null` be considered to be an implicit join? Neither of them requires a join. |