criando registro de tabela com chave composta
10/02/2009 00:00
0
Pessoal,
tenho a seguinte tabela com chave composta(cliente, anexo, data) ;



class Protocolo implements Serializable {

java.lang.Integer ano
java.lang.Integer tipoMaterial
java.lang.Integer extra
java.util.Date dataPublicacao
java.util.Date dataProtocolo
// Relation
Usuario usuario
// Relation
Cliente cliente
// Relation
Anexo anexo

static mapping = {
table 'protocolo'
version false

id composite: ["cliente","anexo","ano"]
.....




ao tentar fazer desse modo :

def ab = new Protocolo('anexo.id':789, ano:2009, 'cliente.id':13, extra:1)
ab.save()

nao está funcionando. Há alguma maneira diferente de salvar para tabelas com chave composta ?

valeu

Herrera


como fazer para criar um registro nessa tabela ?
Tags: Grails


0
Pessoal,

Realmente tem um erro no Grails 1.1beta3 e a correção já foi feita e será liberada juntamente com o Grails 1.1RC.
Acho que até o final do mes a RC deverá ser liberada.

Herrera
13/02/2009 00:00


0
Quando tu fores criar o objeto do tipo Protocolo, tens que setar os atributos deles. Passar as chaves como vc fez(anexo.id:789) é pensar a nível de banco de dados, no caso do grails tem que pensar em objetos e atributos, protocolo possui um atributo do tipo Anexo chamado anexo, e não um atributo anexo.id. Um exemplo, seria assim:




def anexo = Anexo.get(789)
def cliente = Cliente.get(13)

def ab = new Protocolo()

ab.cliente = cliente //passa as instancias dos objetos
ab.anexo = anexo
ab.ano = 2009
ab.extra = 1

ab.save()
18/02/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