Pessoal,
Eu estou enfrentando um problema ao incluir ou atualizar um objeto Exame. Segue abaixo o HBM:
Exame.hbm.xml
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping>
<!--
Created by the Middlegen Hibernate plugin 2.2
http://boss.bekk.no/boss/middlegen/
http://www.hibernate.org/
-->
<class
name="Exame"
table="exame"
>
<composite-id name="comp_id" class="ExamePK">
<key-property
name="cdUnidade"
column="cd_unidade"
type="java.lang.Integer"
length="4"
/>
<key-property
name="cdExame"
column="cd_exame"
type="java.lang.Integer"
length="4"
/>
</composite-id>
<many-to-one
name="paciente"
class="Paciente"
not-null="true"
update="false"
insert="false"
>
<column name="cd_paciente" />
<column name="cd_unidade" />
</many-to-one>
</class>
</hibernate-mapping>
O problema é que a associação com paciente não é persistida, devido ao update="false insert=“false”. Porém caso não existir essa configuração, ocorre o erro de mapeamento “org.hibernate.MappingException: Repeated column in mapping for entity: Exame column: cd_unidade (should be mapped with insert=“false” update=“false”)”.
Ou seja, exame tem como pk(cd_exame e cd_unidade) e paciente pk(cd_paciente e cd_unidade). Mas é necessário persistir a referência ao paciente ao incluir ou atualizar o exame.
Alguma idéia?
[]'s