Erro ao gravar com hibernate

1 resposta
E

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();

1 Resposta

L

Rapaz, rs não manjo muito do mapeamento XML, mas não está faltando o outro lado do mapeamento na classe Produtos??
Em Lotes_medicamentos tem um Many-to-One, então não deveria ter um One-to-Many em Produtos ? rsrs

Valeu…

Criado 23 de janeiro de 2010
Ultima resposta 23 de jan. de 2010
Respostas 1
Participantes 2