Relação muitos para muitos
31/05/2010 00:00
0
Eu tenho o seguinte problema. Eu sei que o grails pode definir relações um para muitos e muitos para muitos, mas eu tenho a seguinte situação:
tenho as tabelas Utentes e Serviços que são uma relação de muitos para muitos (os Utentes solicitam vários Serviços e os Serviços são solicitados por vários Utentes). Eu poderia pura e simplesmente definir uma relação de muitos para muitos mas o problema é que desta relação surge uma entidade que são os ServiçosSolicitados que para além dos atributos das entidades anteriores tem acrescentado os atributos data(em que o serviço é marcado) e hora.
Existe maneira de acrescentar atributos a uma relação de muitos para muitos?

Ou simplesmente eu tenho de desdobrar esta relação (3 tabelas, a tabela do relacionamento tem como atributos..., etc).
Tags: Groovy


0
Esqueça tabelas, lembre-se que aqui estamos trabalhando com objetos.

No seu caso você vai precisar de três classes, uma para Serviço, uma para Utentes e uma para os Serviços Solicitados.

basicamente:
class Servico {
String descricao
static hasMany = [servicosSolicitados:ServicoSolicitado]
static mappedBy = [servicosSolicitados:"servico"]
String toString() { "$descricao" }
}

class Utente {
String nome
String endereco
String etc
static hasMany = [servicosSolicitados:ServicoSolicitado]
static mappedBy = [servicosSolicitados:"utente"]
String toString() { "$nome" }
}

class ServicoSolicitado {
Date dataSolicitacao
static belongsTo = [servico:Servico, utente:Utente]
}

Segue dois links muito bons sobre o assunto, já que meu exemplo foi muito básico.
Grails - Many-to-Many Mapping
Mastering Grails: Many-to-many relationships with a dollop of Ajax
31/05/2010 00:00


0
fabianosobreira esta' certo!

O grails ja' vai criar suas tabelas com os relacionamentos que foram idicados nas Domain Class.
01/06/2010 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