Olá, estou apanhando do Hibernate pra fazer o seguinte:
Tenha as tabelas: Documento, Indice e IndiceDocumento, essa última é uma tabela de relacionamento com as outras duas, com um campo valor
IndiceDocumento.hbm
[code]
<class name="IndiceDocumento" table="INDICEDOCUMENTO">
<composite-id name="id" class="IndiceDocumentoKey">
<key-many-to-one name="documento" column="ID_DOCUMENTO" class="Documento" lazy="false"/>
<key-many-to-one name="indice" column="ID_INDICE" class="beans.conteudo.Indice" lazy="false"/>
</composite-id>
<property name="valor" column="VALOR" type="java.lang.String" />
</class>
[/code]
Quando faço um updade na tabela Documento, acontece um erro dizendo não pode fazer o update.
Verificando o SQL montado pelo hibernate ele tenta fazer o seguinte:
[code]1º - update INDICEDOCUMENTO set VALOR = ? where ID_DOCUMENTO = ? and ID_INDICE = ?
até aqui OK.
2º - update INDICEDOCUMENTO set ID_DOCUMENTO = null WHERE ID_DOCUMENTO = ?[/code]
por que ele tenta fazer este segundo update ? e por que ele tenta fazer um update para null, se todos os campos estão preenchidos ?