Hibernate cascade no SET

5 respostas
feltraco

Salve galera…

seguinte tenho o Objeto Cliente que possui muitas unidades.
Populo um cliente e adiciono unidades, gostaria que ao mandar presistir o Cliente ele
persistice as Unidades por cascade, mas nao esta funcionando.

Segue meus mapeamentos.

Cliente

<set name="unidades" inverse="false" cascade="all" lazy="false">
            <key>
                <column name="Cliente" not-null="true" />
            </key>
            <one-to-many class="meu.pacote.Unidade" />
        </set>

Unidade

<many-to-one name="cliente" class="meu.pacote.Cliente" fetch="join">
            <column name="Cliente" not-null="false" />
        </many-to-one>

Toda ajuda eh bem vinda.

Abraço

5 Respostas

feltraco

nenhuma dica ?

:?: :?:

Lavieri

sei fazer com annotation e Listners serve ??

Lavieri

vc pode fazer assim

na sua classe cliente teria que iniciar com a anotação EntityListner

@EntityListner({ClienteTrigger.class}) public class Cliente { .... }

na classe EntityListner faria assim…

public class ClienteTrigger { @PostPersist public void persistAllUnidades(Cliente cliente) { for(Unidade u : cliente.getUnidades()) { HibernateUtil.getSession().persist(u); } } }

feltraco

Estou utilizando HBM.xml

mas obrigado msm assim.

Lavieri

eu sei q tem como mapear os pre-persist e post-persist alem dos entitylistner por meta-data… so não sei como fazer =x

Criado 18 de fevereiro de 2009
Ultima resposta 18 de fev. de 2009
Respostas 5
Participantes 2