↓ Arquivos ↓

Como criar chaves primárias do tipo UUID com Grails

Devo confessar, detesto chaves primárias do tipo auto incrementais. Sempre preferi utilizar UUID: podem ocupar mais espaço em armazenamento em disco, mas são ideais quando lidamos com aplicações paralelizadas ou mesmo quando queremos ter um controle maior sobre o valor que devemos armazenar nestes campos.

Ao iniciar meu contato com Grails, fiquei um pouco decepcionado ao me deparar com a utilização padrão de campos do tipo auto incrementais, porém este problema pode ser resolvido de uma maneira extremamente simples: basta apenas customizar o mapeamento objeto relacional da classe, tal como faço no código abaixo:

class AmandoUUID {
      String id // Defina o campo chave como String.
     // Repare no mapeamento: basta definir o generator uuid!
     static mapping = {
             id generator:'uuid'
     }
}

Simples, não acha?

1 Comment

  • [...] No caso, primeiro definimos qual o nome da coluna na qual os dados estão armazenados. Em seguida, definimos qual o algoritmo usado na geração destes valores. Em nosso caso, o algoritmo UUID (já inclusive escrevi sobre isto aqui). [...]

  • Leave a Reply

    Get Adobe Flash playerPlugin by wpburn.com wordpress themes