how to apply NULLS LAST sorting in Grails/GORM
Following is an example in grails criteria to sort Nulls at last by overriding hibernate addOrder method
def userCriteria = User.createCriteria()List results = userCriteria.list(max:limit, offset:offset) { eq("isActive", true) ilike("firstName",text+"%") userCriteria.addOrder(Order.asc("firstName").nulls(NullPrecedence.LAST));}
You can even have this in an or
block. eg.
or{ userCriteria.addOrder(Order.asc(USERNAME).nulls(NullPrecedence.LAST)); userCriteria.addOrder(Order.asc(EMAIL).nulls(NullPrecedence.LAST)); userCriteria.addOrder(Order.asc(FIRST_NAME).nulls(NullPrecedence.LAST)); userCriteria.addOrder(Order.asc(LAST_NAME).nulls(NullPrecedence.LAST));}
Hope this helps someone searching like me.