Или добавьте метод toString в свой класс Book
public String toString() {
"${name} ${author}"
}
, а затем просто опустите optionValue
<g:select name="id" from="${Books.list()}" optionKey="id"
value="" noSelection="${['null':'Select Publisher...']}"/>
По умолчанию, когда вы смотрите на домен в отладчике, у него есть человекузнаваемое значение.
Надеюсь, это поможет.