Grails: создание собственного идентификатора - PullRequest
0 голосов
/ 03 августа 2011

У меня есть доменный объект Issue, у которого есть свойство Date createTime, которое я хочу использовать в качестве идентификатора GORM с некоторой пользовательской логикой.

Например, предположим, что первое Issueсозданный в 2011/08/02, ID должен быть 2011080201.Следующий Issue в тот же день должен иметь ID 2011080202 и т. Д.

Затем первый выпуск, созданный на следующий день 2011/08/03 ID, должен быть 2011080301,

Итак, основное требование - я должен добавить увеличенное значение к свойству createTime.

Каким должен быть подход ??

1 Ответ

1 голос
/ 03 августа 2011

Полагаю, вам нужно создать собственный генератор идентификаторов.

Попробуйте создать класс my.package.MyCustomIdGenerator, который реализует интерфейс org.hibernate.id.IdentifierGenerator.

, затем попытайтесь настроить класс домена.вот так.

static mapping = {    
    id generator:'my.package.MyCustomIdGenerator', params:[...]    
}

Приведенный выше синтаксис может быть неправильным.но это стоит того.

Посмотрите здесь: http://grails.org/doc/1.0.x/guide/5.%20Object%20Relational%20Mapping%20(GORM).html

и здесь:

http://docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html#mapping-declaration-id

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...