Problemas com composite-id no Hibernate

2 respostas
andre_a_s

Bom dia senhores 8)

Tenho um mapeamento de uma classe com chave composta, porém estou com problemas no saveOrUpdate.
Quando a tabela está vazia, ele insere os registros, porém quando tento carregar os mesmos registros, ele deveria fazer o update, mas não faz.
Seguindo os logs do hibernate, vi que ele faz o select e encontra o registro, porém, ele tenta fazer um insert, ai acabo com erro de primary key.
Segue abaixo meu mapeamento.

<class name="com.it.cargas.unibancoLoader.beans.CargaContratos" table="UNIBANCO_WRK_CONTRATOS" >
        <composite-id name="id" class="com.it.cargas.unibancoLoader.beans.CargaContratosId" >
            <key-property name="idCliente" >
                <column name="ID_CLIENTE" />
            </key-property>
            <key-property name="cdLote">
                <column name="CD_LOTE" />
            </key-property>
            <key-property name="dtMovimento">
                <column name="DT_MOVIMENTO" />
            </key-property>
            <key-property name="idRegistro">
                <column name="ID_REGISTRO" />
            </key-property>
        </composite-id>
        <property name="dtMovimentoReg" type="java.lang.String">
            <column name="DT_MOVIMENTO_REG" length="8"  />
        </property>
        <property name="cdEmpresa" type="java.lang.Long">
            <column name="CD_EMPRESA" precision="2" scale="0"  />
        </property>

       <!-- Varios outros mapeamentos de propriedades -->

</class>

No caso, tenho meu bean com o id em uma classe separada(CargaContratosId).
Existe algo errado em meu mapeamento ou algo que possa estar "anulando" meu update?

Obrigado :)

2 Respostas

A

Fala Andre, blz contigo!!?

Seguinte tive o mesmo problema com um projeto aki na empresa, resolvi da seguinte forma, quando vc trata os id com id o hibernate ela enche o saco pra funcionar, porem quando vc as trata como campos normais vai que eh uma blz.
Tipo eu tb tinha uma classe so de ids e outra com os atributos normalmente, porem vivia danda problema com os id, depois que eu passei todos os ids somente pra um bean somente e manipulei como se fossem atributos não especiais, funcionou, mas o mapeamento xxx.hbm.xml tera que mudar tb, tipo sem o .

espero ter ajudado

vlws

rodrigo_gomes

Olá,

O equals e hashCode em suas classes CargaContratos e CargaContratosId está certinho?

[]´s

Criado 11 de dezembro de 2007
Ultima resposta 11 de dez. de 2007
Respostas 2
Participantes 3