Boa tarde!
Eu tenho dois beans, um é o cliente e o outro é complementoCliente, seria um caso one-to-one, mas estou usando o many-to-one e colocando unique=“true”, no mapeamento do bean de cliente.
Acontece que a minha composite id de cliente, que tem duas colunas; são as chaves extrangeiras de complementoCliente.
Eu sei que eu deveria colocar no composite-id, mas eu preciso dos valores dessas colunas de cliente.
Eu coloquei key-property normalmente para as duas colunas no composite-id e indiquei fora do composite-id.
O problema é que fica dando um erro dizendo que eu tenho colunas repetidas, ou seja, eu indiquei key-property das duas colunas no composite-id, e também indiquei as mesmas colunas no many-to-one.
Eu consegui resolver o problema usando a tag nome da coluna no lugar de column no many-to-one. Só que desta forma não me trouxe confiança, porque eu não entendi o sentido desta .
Vejam o abaixo mapeamento que eu usei a tag. Alguém tem uma sugestão?!!!
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="br.com.consist.databridge.bean">
<class name="ClienteDBBean" table="cl_clie_forn">
<composite-id>
<key-property name="codigoMatrizGrupo" type="integer" column="cl08_mat_gru" length="7"/>
<key-property name="codigo" type="string" column="cl08_cliente" length="20"/>
</composite-id>
<!-- <one-to-one name="clienteComplemento" class="br.com.consist.databridge.bean.ClienteComplementoDBBean" lazy="false" cascade="save-update,delete" /> -->
<many-to-one name="clienteComplemento" class="ClienteComplementoDBBean" not-found="ignore" outer-join="true" lazy="false">
<formula>cl08_mat_gru</formula>
<formula>cl08_cliente</formula>
</many-to-one>
</class>
</hibernate-mapping>
grato!!!
