[RESOLVIDO] DAO no hibernate com herança?

3 respostas
gilberto_oliveira

Olá pessoal,

tenho a seguinte estrutura de classes:
ClientePessoaFisica extends Cliente

Mas quando tento usar o dao dessa forma:

try {
            ClientePessoaFisica pf = new ClientePessoaFisica();
            pf.setNome(jTextField1.getName());//Já tem escrito no textfield alguma coisa

            DAOCliente dao = new DAOCliente();

            dao.inserir(pf);
} catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Erro:\n" + Erro.getRastroDaPilha(e));
}
//DAOCliente.java
public void inserir(Cliente cliente) {
        Session session = HibernateUtil.getSession();
        Transaction tx = session.beginTransaction();

        session.save(cliente);

        tx.commit();
        session.close();
    }

Não ocorre nenhum erro, mas ele insere null nos campos da tabela Cliente e nos campos da tabela ClientePessoaFisica.

Minha pergunta:
Porque o hibernate está colocando null, sendo que pelo menos o nome eu digitei? Esta é a maneira correta de salvar o objeto no banco?

EDIT:
[RESOLVIDO]

3 Respostas

blackout

Você já debugou pra ver se antes da inserção propriamente dita o objeto tem o atributo nome preenchido?

ThiagoWorldCoder

faz um System.out.println() antes do save e veja se o seu objeto está devidamente preenchido!!

gilberto_oliveira

Opa obrigado pela ajuda, amigos
Nem acredito no erro :oops:

Deveria ser assim

Já corrigi e funcionou obrigado! :XD:

Criado 19 de março de 2008
Ultima resposta 24 de mar. de 2008
Respostas 3
Participantes 3