Отображение hasMany = [field: String] на поле базы данных TEXT - PullRequest
2 голосов
/ 21 декабря 2009

Можно ли установить тип столбца базы данных ассоциации hasMany для типа примитива (в моем случае) для определенного значения? Я знаю, как установить поле (см. этот вопрос ), но это не так.

  List textRecords
  static hasMany = [
          textRecords:String,
  ]

Я хочу убедиться, что мои textRecords сопоставлены с типом базы данных TEXT или LONGTEXT.

Я мог бы создать отдельный класс домена, который содержит только одно строковое поле и отобразить это поле, но это похоже на kluge.

1 Ответ

2 голосов
/ 22 декабря 2009

В руководстве пользователя Grails приведен пример, приведенный в 5.2.1.4 Основные типы коллекций , очень похожий на то, что вы хотите выполнить.

Имейте в виду, что каждый раз, когда вы хотите добавить textRecord к этому объекту, он должен будет загрузить весь список textRecords, чтобы сохранить его снова. Это может быть не то поведение, которое вы хотите по причинам производительности.

В итоге у вас будет блок сопоставлений, подобный этому:

static mapping = {
       hasMany joinTable:[name:'bunch_o_text_records', key:'domain_id', column:'text_record', type:"text"]       
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...