GORM: как установить тип данных значения на карте - PullRequest
5 голосов
/ 14 апреля 2011

в моем доменном объекте у меня есть карта:

Map<String, String> stuff

GORM автоматически создает таблицу, ключ и значение которой varchar (255) .

Мне нужно, чтобы значение было LongText .Как мне это сделать?

Кроме того, есть ли обходной путь для этого, который не включает использование конфигурации hibernate?

Ответы [ 3 ]

3 голосов
/ 14 апреля 2011

Я думаю, вы можете объявить этот параметр в закрытии сопоставления вашего класса Домена.

Ограничение для поля String, поэтому его тип столбца MySQL - TEXT:

static mapping = {
   myTextField type: 'text'
}

Может быть, это поможет вам: Руководство по Grails (5.5.2.1 Имена таблиц и столбцов)

2 голосов
/ 14 апреля 2011

Боюсь, что только через XML-конфигурацию Hibernate и , указав key отображение для stuff.

0 голосов
/ 14 апреля 2011

Если вы хотите лучше контролировать процесс создания / обновления базы данных, то лучше использовать миграцию базы данных, чем позволить Hibernate управлять ею. Мы используем Liquibase, который очень прост в использовании и гибок, и для него уже есть штекер Grails . Кроме того, если я не ошибаюсь, миграции базы данных будут интегрированы в ядро ​​Grails для версии 1.4, так что вы сможете использовать миграции схем без установки какого-либо плагина.

...