Grails не делает строительные леса для массивов. HasMany предназначен для использования с другим классом домена, а не с переменной. Использование hasMany с классом домена создаст автоматические леса. Например
class Customer {
String name;
static hasMany = [ aliases:Alias ]
static constraints = {
name blank:false
}
}
class Alias {
String alias;
static constraints = {
alias blank:false
}
}
Это создаст две таблицы, customer и alias. Внешний ключ будет использоваться для связи записей в таблице псевдонимов с клиентом. Коллекция псевдонимов будет доступна для
alias[0].alias
Если вам нужно использовать массив вместо другого класса домена, вам придется написать собственный код для пользовательского интерфейса.