| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/02/2011 11:33:09
|
jr.mg
JavaChild
Membro desde: 25/07/2006 22:39:04
Mensagens: 131
Offline
|
bom dia pessoal.
Estou com dificuldades em persistir a seguinte estrutura.
Tenho uma classe Plano que tem uma classe Servico, sendo que esta classe servico pode ser implementada de formas diferentes como Servico de Internet, Servico de Hospedagem...etc, cada uma com suas particularidades. Porem como ficaria isso numa persistencia?
Já que cada uma tem metodos implementados de acordo com o tipo de servico.
Obrigado
|
Júnior |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/02/2011 11:51:13
|
Nicolas Fernandes
GUJ Ranger
![[Avatar]](/images/avatar/6ea3a17abd40cbefedd8c506c0f4e0fd.jpg)
Membro desde: 15/08/2009 10:48:00
Mensagens: 771
Localização: Pouso Alegre (MG)
Offline
|
jr.mg wrote:bom dia pessoal.
Estou com dificuldades em persistir a seguinte estrutura.
Tenho uma classe Plano que tem uma classe Servico, sendo que esta classe servico pode ser implementada de formas diferentes como Servico de Internet, Servico de Hospedagem...etc, cada uma com suas particularidades. Porem como ficaria isso numa persistencia?
Já que cada uma tem metodos implementados de acordo com o tipo de servico.
Obrigado
E aí, cara, tudo bem?
Bom, vamos lá.
Para persistir esses dados, você deve criar suas tabelas no Banco de Dados.
Agora, você deve mapear essas tabelas do seu banco de dados em classes.
Ou seja: a classe plano possui um objeto persistido que está na tabela Serviços.
Para persistir esses objetos, você cria suas classes DAO.
Sacou mais ou menos?
Agora, o que não entendi: o que você quis dizer com essas "particularidades" dos serviços?
Abraço!
|
Está usando DefaultTableModel AINDA??? Pare já com isso!
http://www.guj.com.br/posts/list/15/199067.java#1001295
"Ah, o Sol... O lugar mais quente da Terra!" - Homer Simpson
"Não diga à Deus que você tem um grande problema, diga ao problema que você tem um grande Deus."
"A grandeza de um homem se mede pela verdade, pela humildade, pela sinceridade, pela submissão ao Deus de verdade." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/02/2011 14:03:42
|
jr.mg
JavaChild
Membro desde: 25/07/2006 22:39:04
Mensagens: 131
Offline
|
As particularidades são assim.
Vamos supor que um desses serviço seja serviço de internet.Nessa classe eu tenho login e outros atributos que são especificos de serviço de internet.
Em outro plano tenho um serviço que é serviço de telefonia.Nessa eu tenho apenas atributos que pertencem a telefonia ex: minutos.
Aí que o bicho pega...pois como fica a persistência disso? E na classe plano eu tenho Serviço ou ServiçoInternet/ServiçoTelefonia.
É issso....
|
Júnior |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/02/2011 14:13:13
|
gilmaslima
JavaEvangelist
![[Avatar]](/images/avatar/52342fd964a7fcc286db3b72884c57cc.jpg)
Membro desde: 17/07/2008 14:40:26
Mensagens: 430
Localização: { Entre um abre e fecha "chaves" }
Offline
|
Nesse caso vc tem duas entidades diferentes, já que elas tem atributos diferenes.
|
Gilmar Lima
SCJA 1.0
SCJP 5.0
OCWCD 5
public boolean soMeFu(){
while(true){
return true;
}
} |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/02/2011 14:33:38
|
Nicolas Fernandes
GUJ Ranger
![[Avatar]](/images/avatar/6ea3a17abd40cbefedd8c506c0f4e0fd.jpg)
Membro desde: 15/08/2009 10:48:00
Mensagens: 771
Localização: Pouso Alegre (MG)
Offline
|
jr.mg wrote:As particularidades são assim.
Vamos supor que um desses serviço seja serviço de internet.Nessa classe eu tenho login e outros atributos que são especificos de serviço de internet.
Em outro plano tenho um serviço que é serviço de telefonia.Nessa eu tenho apenas atributos que pertencem a telefonia ex: minutos.
Aí que o bicho pega...pois como fica a persistência disso? E na classe plano eu tenho Serviço ou ServiçoInternet/ServiçoTelefonia.
É issso....
Você pode seguir o conselho do gilmaslima, criando uma entidade para cada um dos planos, já que eles têm suas particularidades. Nesse caso, trabalhe com herança. Crie uma classe mãe que agrege todos os atributos comuns entre os serviços e crie as classes filhas que possuam seus próprios atributos. No banco de dados, crie uma tabela para cada serviço, cada uma com suas particularidades. Acho que assim poderia ficar interessante.
Sacou?
|
Está usando DefaultTableModel AINDA??? Pare já com isso!
http://www.guj.com.br/posts/list/15/199067.java#1001295
"Ah, o Sol... O lugar mais quente da Terra!" - Homer Simpson
"Não diga à Deus que você tem um grande problema, diga ao problema que você tem um grande Deus."
"A grandeza de um homem se mede pela verdade, pela humildade, pela sinceridade, pela submissão ao Deus de verdade." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/02/2011 18:04:16
|
jr.mg
JavaChild
Membro desde: 25/07/2006 22:39:04
Mensagens: 131
Offline
|
Ok...isso está claro
Tinha pensado no uso de interface para implementar os métodos comuns de serviço,utilizando o Pattern Composite com interface Serviço e as classes concretas Plano e Pacote onde o pacote é composto por vários planos.
Só que neste cenário o primeiro problema encontrado foi a persistência das classes concretas que implementam a Interface Serviço.
Estou usando JPA.
Estou usando um dao generico para cuidar da persistencia. Talvez se fizermos um cast de Serviço para Plano antes de persistir? Não acho o elegante
Existe alguma tag no JPA que informe que, os dados que precisam ser persistidos são os dados do plano e não serviço?
Foi isso que tentei fazer.
|
Júnior |
|
|
 |
|
|