how to apply NULLS LAST sorting in Grails/GORM how to apply NULLS LAST sorting in Grails/GORM oracle oracle

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.