Я столкнулся с той же проблемой; в то время как вы можете указать max и offset в параметрах executeQuery, сортировка и порядок будут игнорироваться. Чтобы это работало, мне нужно было указать сортировку и порядок в самом HQL-запросе. Результирующий запрос должен выглядеть примерно так:
"select distinct a.number from Account a where a.branch = :branch order by a.id asc"
Во-первых, в ваших сортируемых столбцах вам необходимо изменить атрибут свойства, чтобы он ссылался на запрашиваемый домен. Так что для "Аккаунта а" сделайте это:
<g:sortableColumn property="a.id" title="Id"/>
Далее вам нужно будет изменить ваш HQL-запрос. К сожалению, похоже, что вы не можете использовать именованные параметры в предложении order by, поэтому вам придется делать это вручную. Вероятно, было бы неплохо сначала очистить params.order и params.sort.
"select distinct a.number from Account a where a.branch = :branch order by " + params.sort + " " params.order
Это сработало для меня, я действительно надеюсь, что есть лучший выход.