Problema com mapeamento n para n Hibernate

1 resposta
F

Galera estou com um problema no mapeamento n para n com Hibernate.

Dá o seguinte erro

Hibernate: select servico0_.srv_cd_servico as srv1_4_, servico0_.srv_ds_servico as srv2_4_, servico0_.srv_cd_grupo_servico as srv3_4_ from srv_servico servico0_ where servico0_.srv_cd_servico=?
Hibernate: select gruposervi0_.gps_cd_grupo_servico as gps1_3_0_, gruposervi0_.gps_ds_grupo_servico as gps2_3_0_ from gps_grupo_servico gruposervi0_ where gruposervi0_.gps_cd_grupo_servico=?
Hibernate: select inspecao0_.ipv_cd_inspecao as ipv1_8_, inspecao0_.ipv_ds_inspecao as ipv2_8_, inspecao0_.ipv_tp_inspecao as ipv3_8_, inspecao0_.ipv_tp_vida_util as ipv4_8_, inspecao0_.ipv_cd_data_base as ipv5_8_ from ipv_inspecao_veiculo inspecao0_ where inspecao0_.ipv_cd_inspecao=?
---
org.hibernate.MappingException: Unknown entity: br.bean.ServicoInspecaoID

Segue abaixo o código:

<hibernate-mapping>

    <class name="br.bean.ServicoInspecao" table="siv_servico_inspecao">
        
        <composite-id name="compositeID" 
                      class="br.bean.ServicoInspecaoID">

             <key-many-to-one name="servico" column="siv_cd_servico"
                 class="br.bean.Servico"/>
                 
             <key-many-to-one name="inspecao" column="siv_cd_inspecao"
                 class="br.bean.Inspecao"/>
                 
        </composite-id>        
        
    </class>

</hibernate-mapping>
Session sessao = HibernateUtil.getSession(this.criaConexao(usuario));
        
        try {
            Transaction transaction = sessao.beginTransaction();
            
            ServicoDAO dao = new ServicoDAO();
            InspecaoDAO dao1 = new InspecaoDAO();
            
            Servico s = (Servico)dao.obterPorId(usuario, pServico.getCodigo());
            System.out.println(s.getCodigo());
            System.out.println(s.getDescricao());
            
            Inspecao i = (Inspecao)dao1.obterPorId(usuario,pInspecao.getCodigo());
            System.out.println(i.getCodigo());
            System.out.println(i.getDescricao());
                            
            
            ServicoInspecaoID sID = new ServicoInspecaoID();
            sID.setInspecao(i);
            sID.setServico(s);
            
            ServicoInspecao dc = new ServicoInspecao();
            dc.setCompositeID(sID);
            System.out.println("---");
            sessao.save(sID);
            transaction.commit();
            return true;
        } catch(Exception e) {
            //throw e;
            System.err.println(e);
            return false;
        } finally {
            sessao.close();
        }

1 Resposta

F

Consegui enchergar o erro!

No final do código estava fazendo o sessao.save(sID) e na verdade era sessao.save(dc).

Atenciosamente

Criado 27 de agosto de 2007
Ultima resposta 27 de ago. de 2007
Respostas 1
Participantes 1