Dúvida em relacionamento com Classe User
30/03/2013 19:10
0
Dae Galera !!

Tõ com + uma dúvida ai. Acho que essa é de amador. Tenho a domain User usada para logar no sistema e ela pode estar relacionada com a domain Funcionario ou Cliente. Como eu poderia fazer isso de um jeito elegante ? A única forma que vejo seria declarando as duas relações e usando apenas a que eu quero no momento.

Exemplo:

Class User {

Funcionario funcionario
Cliente cliente

static constraints = {
funcionario(nullable:true)
cliente(nullable:true)
}

}

Essa é a melhor solução ?
Tags: user relacionamento


1
Acredito que existem 2 pontos a serem explorados.

O primeiro é de que se na sua base existe esta distinção, já que a Domain é um mapeamento das suas bases, trazendo em sua composição uma série de benefícios, que você deve saber quais já. No caso que você exemplificou, este relacionamento seria de 1:1. Precisa ver se é isto que você realmente quer fazer.

O segundo ponto é de que se isso é um abstração de OO, onde você aproveita seu objeto usuário para estender a Funcionário e Cliente, para atribuição das devidas regras de negócio então pode utilizar mais as classes Groovy para isso.

Espero que minha resposta possa ser útil e que lhe valha de algo.

Abs e boa sorte com o projeto.


1
Brother eu já fiz algo do tipo, e como um funcionário ou um cliente é um usuário eu criaria uma classe USuário (Groovy) e minhas classes de domínio funcionário e cliente estenderiam essa classe Usuario, assim o funcionario e o cliente seriam usuários, agora lembre-se, pra você conseguir acessar os atributos do Usuário na classe de domínio é preciso gerar os gets e sets da classe groovy (Usuário), só to avisando porque a gente acostuma sem ter que declarar get e set e acaba esquecendo e tendo dificuldade em saber porque nao ta funcionando... Abraço!!
04/04/2013 12:31


0
Dae..

Para solucionar o meu problema eu fiz o seguinte:

Criei uma classe Pessoa.
Nas classes Cliente e Funcionario eu coloquei um extends para Pessoa.
Em User coloquei uma relação com pessoa.

Obrigado pela dica ai galera !!

abraço
04/04/2013 16:02



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