Grails использует auto id для создания дополнительного свойства при сохранении домена - PullRequest
0 голосов
/ 15 января 2019

Есть, конечно, лучший способ?

Я хочу использовать автоматически сгенерированный идентификатор для создания другого пользовательского идентификатора. В настоящее время я использую метод afterInsert ниже ...

def afterInsert() {
    def Instance = TttTicket.get(this.id)
    Instance.number = project.ticketPrepender + id.toString().padLeft( 5, '0' )
    Instance.save()
}

Кто-нибудь может предложить лучший способ?

1 Ответ

0 голосов
/ 15 января 2019

Кто-нибудь может предложить лучший способ?

Да.

Лучшее, что можно сделать, зависит от некоторых факторов, таких как, почему это свойство существует, будет ли оно когда-либо изменяться и где вам нужен доступ к нему.

Один из вариантов - сделать number кратковременным, удалить поле number и иметь метод getNumber(), который возвращает что-то вроде project.ticketPrepender + id.toString().padLeft( 5, '0' ).

...