+1 For Petras comment LEFT_JOIN works also for some situations but INNER_JOIN in terms of performance works better. Because of that issue I was forced to create wrapper around HQL builder and use it instead of this criteria API.