По умолчанию, grails будет только кэшировать запросы «get» (например, Book.get (4)), если вы не настроите дополнительное кэширование, вы попадете в базу данных для каждого запроса (как вы видите).
Подробнее см. в разделе 'кэширование запросов' документации Grails .
Если вы хотите, чтобы вызов был выполнен один раз (что имеет смысл впредставление, поскольку вы хотите, чтобы оно было согласованным), я бы либо сделал запрос в действии и передал его в модель, либо вы могли бы также использовать g: set в своем представлении, чтобы установить его (хотя это звучиткак будто это больше подходит для контроллера или службы).