Sou iniciante em hibernate e estou tendo um problema que não consigo resolver,
tenho um mapeamento many-to-one entre lote e produto, o problema está com o
atributo cod_medicamento da classe lote que e um fk para para o id de produto
sempre que tento gravar so entra o valor null, e mais estranho e que se tenho valores
gravados normalmemte antes do many-to-one quando faça a associação e rodo o progama
os valores da coluna se tornam null. estou postando abaixo os mapeamento xml das duas
classes e o metodo de gravar, estou usando swing com o banco hsql, quem puder ajudar agradeço.
//mapeaento produtos
<hibernate-mapping>
<class name="sngpc_tools.model.Produtos" table="produtos">
<id name="id_produtos">
<generator class="increment"/>
</id>
<property name="nome_comercial"/>
<property name="apresentacao"/>
<property name="nome_droga"/>
<property name="regms"/>
<property name="lista"/>
<property name="livro"/>
<property name="cod_dcb"/>
<property name="fabricante"/>
</class>
</hibernate-mapping>
//mapeamento lotes
<hibernate-mapping>
<class name="sngpc_tools.model.Lotes_medicamentos" table="lotes_medicamentos">
<id name="id_lote">
<generator class="increment"/>
</id>
<property name="id_composta"/>
<property name="lote"/>
<property name="quantidade"/>
<many-to-one
class="sngpc_tools.model.Produtos"
name="produtos"
column="cod_medicamento"
/>
</class>
</hibernate-mapping>
//metodo de gravação
Session session = HibernateUtil.getSessao();
String id_composta = id_produto + lote;
lotes_medicamentos.setId_composta(id_composta);
lotes_medicamentos.setCod_medicamento(id_produto);
lotes_medicamentos.setLote(lote);
lotes_medicamentos.setQuantidade(quantidade);
Transaction tx = session.beginTransaction();
session.save(lotes_medicamentos);
tx.commit();
session.close();