Duvida GORM id
12/06/2009 00:00
0
Olá pessoal, estou com uma tremenda dúvida de como fazer isso.
O que eu quero é o seguinte, uma classe que ao invés do id padrão do GORM fosse um atributo meu (cpf), mas não estou conseguindo.

O código é o seguinte :


class Pessoa {

Long cpf
String nome
Integer idade

static mapping = {
columns{
id column: 'cpf'
}
}

static constraints = {
cpf(nullable:false, blank:false, unique:true)
nome(nullable:false, blank:false)
idade(nullable:false, blank:false)
}
}


E o erro que estou recebendo é o seguinte :


Caused by: org.hibernate.MappingException: Repeated column in mapping for entity: Pessoa column: cpf (should be mapped with insert="false" update="false")


Como eu faço para mapear isso ?

Abraços
Tags: Grails


0
Olá pessoal,

Indo mais a fundo consegui oq eu queria, segue o código para quem quiser, não sei se é a melhor forma de se fazer mais funcionou.


class Pessoa {

Long id
String cpf
String nome
Integer idade

def beforeInsert = {
id = Long.parseLong(cpf)
}

static mapping = {
id generator:'assigned', type:Long
}

static constraints = {
cpf(nullable:false, blank:false, unique:true, maxSize:11)
nome(nullable:false, blank:false)
idade(nullable:false, blank:false)
}
}


Agora no campo id eu tenho o cpf como chave primária, tentei passar o campo cpf para transients mais não funciona
12/06/2009 00:00


0
static mapping = {
id name:'cpf'
}


<!-- m --><a class="postlink" href="http://grails.org/doc/1.1/ref/Database%20Mapping/id.html">http://grails.org/doc/1.1/ref/Database% ... ng/id.html</a><!-- m -->

O mapeamento que voce usou:

static mapping = {
columns{ id column: 'cpf' }
}

Na verdade diz pro hibernate criar a coluna referente ao campo 'Long id' com o nome 'cpf' no banco.
14/06/2009 00:00



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto