Fórum Dúvida com classe e entidade #399350
18/04/2011
Pessoal, uma dúvida aqui bem básica, mas nunca fiz. Recebi um diagrama UML com uma classe Pessoa e uma classe Cliente herdando de Pessoa. Na classe cliente, existe apenas um campo para Foto, já que ela herda tudo de Pessoa. Então vem a pergunta. Na hora de gerar a Entidade de Banco de Dados, como eu criaria a tabela(entidade) Cliente? Claro que não deverá entrar a tabela Pessoa. Eu faria assim: Todos os campos de Pessoa + o campo Foto. É isso mesmo? Uso Sql Server 2008. Postei aqui, porque não vi um forum de UML.
Posts
18/04/2011
Robson Teixeira
Olá PJava
Você está usando JPA ou algum framework ORM se estiver saiba que os mesmo podem criar as tabelas do jeito que você deseja podendo colocar tudo em uma unica tabela do banco ou dividir e criando uma tabela pessoa e a tabela cliente pesquise sobre isso ok??
att
robson Passarella
Robson, eu prefiro criar manualmente, porque eu divido os scripts, tipo> Script de Criação, Script de Alteração e Script de Inserção, já que haverá uma carga inicial nesse projeto. Por isso não usar o JPA para a criação e nunca fiz assim, você me disse e não sei se é ou não possivel fazer conforme te falei.
Independente da criação,
vc vai usar JPA?
Pq se vc for existem algumas estratégias de relacionamento para Herança.
Att Davi
Se vc ainda tiver oportunidade de decidir a estratégia, temos alguma consideraçõe para levarmso em consideração.
Pode existir um cliente se ter uma pessoa?
Pq se sim não tem problema em replicarmos os campos na tabela cliente.
Mas se toda vida que for registrado um cliente vc der um insert em pessoa, não precisa recplicar todos os campos e sim basta quardar o id dessa pessoa no cliente.
Tem que ter cuidado com essa tabela pessoa tb, pq se vc não for usá-la não faz sentido tê-la, o que eu quero dizer com isso, se toda vida que alguma pessoa for usada como cliente, ou usuário e vc não fizer insert nenhum em pessoa e sempre replicar seus campos nas tabelas filhas, não faz o menor sentido ter essa tabela pessoa no banco.
Espero ter ajudado
Att Davi
Esse projeto está no começo. Ainda nem começamos a escrever Java nele, somente UML e Banco. Daqui a uma semana, mais ou menos é que vamos começar a escrever classes Java e etc..., ou seja, entrar pra valer na parte programática mesmo. Então, dá sim, para decidir estratégia e mudar qualquer coisa, pois estamos exatamente nessa fase, que caminho seguir. Decidimos aqui por: JSF, Hibernate com JPA e talvez Spring, mas ainda temos que decidir. Porque não é tão grande assim o sistema. Ele é complexo, mas bem pequeno, comparado com outrros que tenho visto, ele é micro, micro mesmo. Talvez umas 30~40 tabelas, não muito mais que isso.Eu pouco conheço(nada) de Spring e dizem ser complexo sua configuração. Mas será bom pra todos aqui, vai enriquecer bastante o CV de todos aqui,rs.