Hibernate/grails left join or inner join or join when using create criteria. If you do not use
'CriteriaSpecification.LEFT_JOIN', then it would be a inner join.
Here is the example as suppose 'User' belongsTo 'Role' which is nullable.
Now you want to left join 'Role' when creating criteria on 'User', then do
the following. It would take all 'User' row where 'Role' is null or not.
But if you do not use 'CriteriaSpecification.LEFT_JOIN', then it would take only
'User.role' is not null.
import org.hibernate.criterion.CriteriaSpecification; List userList = User.createCriteria().list { eq("isActive", true); createAlias("role", "__role", CriteriaSpecification.LEFT_JOIN) eq("__role.someProperty", "some value"); }