Изменение генерации идентификатора для подключаемого модуля Grails

Я использую подключаемый модуль для Grails — подключаемый модуль Amazon S3 — и объект домена, предоставленный подключаемым модулем, не указывает генератор идентификаторов. Я использую Postgresql и требую, чтобы генератор идентификаторов был идентификатором.

Я мог бы скопировать плагин в свой каталог плагинов и возиться с предоставленным объектом домена, но это не похоже на чистый подход. Могу ли я добавить правильное создание идентификатора во время выполнения? Или, может быть, есть лучший способ.


person Julien Gagnet    schedule 09.01.2010    source источник


Ответы (2)


Если вы используете 1.2, вы можете указать сопоставление по умолчанию для всех ваших классов GORM, включая генератор.

grails.gorm.default.mapping = {
   id generator:'sequence'
}

Подробнее см. в примечаниях к выпуску 1.2.

person Jean Barmash    schedule 09.01.2010
comment
Я не использую 1.2, но это веская причина для обновления. Спасибо за ответ, который действительно чист. - person Julien Gagnet; 09.01.2010

Я думаю, вы могли бы скопировать только S3Asset.groovy в src/groovy/. По памяти ваш класс должен переопределить класс, предоставленный плагином. Я использовал эту технику, чтобы настроить пару плагинов, пока не были исправлены ошибки. Но я не пробовал это с классами домена, только с файлами *GrailsPlugin.groovy.

Кроме того, предложение Джин выше является хорошим!

ваше здоровье

Ли

person leebutts    schedule 10.01.2010