| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/10/2009 12:56:28
|
Bruno Laturner
GUJ Expert
![[Avatar]](/images/avatar/5800ccd9514fd789d08e5831951aa6bc.jpg)
Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline
|
Estou com um projeto pessoal(por enquanto) de fazer um sistema de cadastro e consulta de pessoas e itens relacionados a elas. Ele é baseado num existente, que é bem geral, por exemplo, se tem cadastro de empresas, também tem os sócios, que por sua vez tem endereços de correspondência, estes endereços tem municípios, estados, e por aí vai, é um sistema com vários subsistemas.
A idéia é fazer algo que consulte tudo isso, um grande query builder, para os desenvolvedores usarem em suas IDEs, aproveitando a tipagem estática do Java para facilitar a montagem. O sistema em si é um provedor de dados para outros sistemas.
As dúvidas são sobre como montar tudo, sintaxe, o fechamento da construção para executar as consultas, etc.
Meu primeiro problema é com a conjunção "com", normalmente usadas para filtrar a consulta. O comportamento que quero é que ele traga também estes dois endereços já preenchidos, e também traga a pessoa caso ela não tenha esses atributos, que são opcionais.
O que pensei não usar esse "com" desta forma:
Também achei o trazendo meio grande demais, pensei outra forma.
Ou
Daí p/ frente eu começo a pegar um pouco de raiva desses parênteses obrigatórios.
A dúvida é como parar, e como aplicar atributos que só pertencem à um atributo(municipio é parte de endereço, não de pessoa), e ainda manter o contexto original da consulta.
Outra coisa que percebo aqui, em contraste com a maneira que estou pensando, eu não estou dando a opção ou facilitando elas implementarem as coisas com lazy fetch. É válido fazer um algo inteiramente eager? Aliás acho fazer um lazy fetch só seria possível se os outros sistemas tivessem um Entity Manager, e mesmo que tivessem, como o gerenciador de um sistema conversa com o outro?
Preferências, brainstorms?
|
A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/10/2009 13:35:03
|
zoren
GUJ Master
![[Avatar]](/images/avatar/9efbafef9f85fd9caa789941a4cdf821.jpg)
Membro desde: 30/06/2008 08:32:33
Mensagens: 1007
Offline
|
Minha sugestão é usar o varargs com um enum
|
|
|
 |
|
|
|
|