Herança no Hibernate

0 respostas
A

olah, pppessoal!

Tenho duas classes, Pessoa e Advogado. A Pessoa jah estava cadastrada no banco de dados e eu necessito que essa Pessoa se torne um Advogado. nesse caso, o meu mapeamento de Advogado ficaria da seguinte maneira:
<hibernate-mapping>
            <joined-subclass name="br.com.solucoesideais.admOffice.beans.Advogado" extends = "br.com.solucoesideais.admOffice.beans.Pessoa" table="advogados">
                <key column="pessoa_id"/>

                <property name="oab" type="java.lang.String" column="oab"/>

            </joined-subclass>            
    </hibernate-mapping>
o código que persistiu o Advogado ficou assim:
Pessoa pessoaTmp = (Pessoa) pessoas.get(pessoasJList.getSelectedIndex()); //cria uma nova pessoa
        advogado = new Advogado(pessoaTmp); cria um novo advogado e esse objeto pessoaTmp é utilizado por advogado pra preencher os dados de pessoa desse advogado pois nao consegui fazer por casting
        advogado.setOab(oabJText.getText());
        try {
            advogadoDAO = new AdvogadoDAO();
            advogadoDAO.insert(advogado);
        }

Acontece que o hibernate criou uma nova pessoa e a associou com o advogado (talvez fosse o esperado mas não pra mim). como faço pra ele associar o novo advogado à pessoa já existente sem criar uma nova linha na tabela de Pessoas?

Criado 9 de junho de 2005
Respostas 0
Participantes 1