You are right that if you think of it as a map, then null would be returned thus keeping the row. This would require to use "left join" semantics. I also agree that it is better to use left join for that but in the end it's up to the JPA spec.