Согласно этому ответу , невозможно использовать генераторы гибернации (те, которые используются для идентификаторов), чтобы сделать это.Если вам действительно нужно использовать генераторы Hibernate, в ответе также описывается обходной путь.
В вашем случае вы можете использовать перехватчик для генерации свойства ponum при вставке нового объекта:
class Yours {
int ponum
def beforeInsert() {
def lastPonum = Book.list([sort: 'ponum', order:'desc', max: 1])
if(lastPonum)
ponum = (lastPonum.pop().ponum as int) + 1 as String
else
ponum = '0'
}
}