Herança + Hibernate

3 respostas
julioc

Bom Dia a Todos!!

Pessoal estou com uma duvida em fazer herança com hibernate criei a classe Pessoa, PessoaFisica e PessoaJuridica até ai beleza criou a 3 tabelas no banco certinho, Agora Gostaria de saber como seria o Dao eu criarei 3 Daos como seria o esquema segue abaixo minhas classe .Por Favor aguardo resposta!!!!
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
public class Pessoa implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;

    private String nome;
    private String endereco;
    private String telefone;
    private String celular;
    private String email;
    private String fax;

    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dataCad;


   @JoinColumn(name = "cidade", referencedColumnName = "id")
    @ManyToOne(optional = false)
    private Cidade cidade;

//E o resto da classe

}
@Entity
@PrimaryKeyJoinColumn(name="id")
public class PessoaFisica extends Pessoa implements Serializable {
 
   private String cpf;
   private String rg;
   private String sexo;
   private String estadoCivil;

   @Temporal(javax.persistence.TemporalType.DATE)
   private Date dataNasc;

   private String cep;
   private String profisao;
   private String local;
   private String enderecoServico;

//E O RESTO DA CLASSE
}
@Entity
@PrimaryKeyJoinColumn(name="id")
public class PessoaJuridica extends Pessoa implements Serializable {

    private String cnpj;
    private String razaoSocial;
    private String inscEstadual;
    private String cep;
    private String obs;
//E O RESTO DA CLASSE
}

3 Respostas

ivela

Olá!

Não sei se entendi bem sua dúvida, mas a princípio, será só uma DAO genérica mesmo.
Você vai enviar a classe para o Hibernate (PessoaFisica.class) para salvar um objeto.

Abraços!!

ralphsilver

É o seguinte:

vc popula a entidade que vc quer popular normal (PessoaFisica ou PessoaJuridica). No momento que vc salvá-lo, ele vai popular a a tabela de Pessoa também. Ele faz um cascade nesse caso para qualquer ação CRUD

julioc

Bom Dia!!!

Obrigado pessoal funcionou perfeitamente!!!

até mais!!!

Criado 22 de junho de 2009
Ultima resposta 23 de jun. de 2009
Respostas 3
Participantes 3