Classe abstrata ou novo domínio?
28/01/2013 16:26
0
Pessoal,

estou numa dúvida cruel. Percebo que quando utilizo classe abstrata (abstração), o Hibernate cria apenas 1 tabela para todos as classes. Se eu uso uma classe diferente ele cria tabelas diferentes.

Acho que a centralização de todos os dominios em apenas uma "MEGA-TABELA" dá problema de performance quando a mesma é muito acessada. Assim estou na dúvida se crio domínios diferentes que aparentemente pode representar uma redundância de programação.

O que vcs me sugerem?
Tags: abstração, abstract


0
Configurou o seu mapeamento para que seja do tipo uma tabela por domínio e mesmo assim continua gerando uma tabela única?


0
Se a sua classe abstrata for um domain, o grails por padrão vai usar uma tabela pra ela e suas filhas.

Por configuração no mapeamento da classe, ele pode criar uma tabela pra classe mãe e outras tabelas pras classes filhas e fazer joins pra montar os objetos. Mas isso é quase tão ruim quanto botar tudo numa tabela só.

Acho que talvez você nem queira que o grails considere a sua classe abstrata com um domain e trate cada filha como um domain comum, nesse caso tira a classe abstrata do diretório domain e coloca no diretório src/groovy ou src/java.

Só não abusa de herança que isso dá muita dor de cabeça no futuro... fazer uma "classe base" e fazer um monte de classes estender dela não costuma ser uma boa idéia.
28/01/2013 17:09


0
Henrique,

infelizmente não fiz nenhuma configuração no mapping. Se souber como faço isso para gerar outra tabela independente por favor me diga.

Rcauler,

Pensando em seu comentário, o mesmo trabalho que dá colocar a classe abstrata no src é o mesmo de se gerar um dominio né? Para isso basta criar um arquilo lá e colocar a classe normalmente né?

28/01/2013 18:21



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