Problemas com o hibernate

7 respostas
G

Eu estou tentando inserir um usuario na tabela mais esta dando varios erros quando faco ‘session.save(usuario)’. Mais eu consigo baixar os dados do banco e mostrar na tela, so nao cosigo inserir e dar update. alguem pode me ajudar. os erros sao os seguintes.

21:51:31,203 ERROR [Controller]:253 - Servlet.service() for servlet Controller threw exception

org.hibernate.MappingException: Unknown entity: org.sigho.persistencia.bean.Usuario

at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:550)

at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1338)

at org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:180)

at org.hibernate.event.def.AbstractSaveEventListener.getEntityState(AbstractSaveEventListener.java:512)

at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:80)

at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)

at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507)

at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499)

at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:495)

at org.sigho.action.UsuarioAction.getModel(UsuarioAction.java:39)

at org.mentawai.filter.InjectionFilter.getTarget(InjectionFilter.java:110)

at org.mentawai.filter.InjectionFilter.filter(InjectionFilter.java:130)

at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116)

at org.mentawai.filter.VOFilter.filter(VOFilter.java:127)

at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116)

at org.mentawai.filter.DIFilter.filter(DIFilter.java:206)

at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116)

at org.mentawai.filter.HibernateFilter.filter(HibernateFilter.java:187)

at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116)

at org.mentawai.filter.IoCFilter.filter(IoCFilter.java:82)

at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116)

at org.mentawai.filter.ValidatorFilter.filter(ValidatorFilter.java:194)

at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116)

at org.mentawai.core.Controller.invokeAction(Controller.java:633)

at org.mentawai.core.Controller.service(Controller.java:498)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)

at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)

at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)

at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)

at java.lang.Thread.run(Thread.java:595)

aguardando resposta, e obrigado a todos.

7 Respostas

G

da uma olhada ai:

a classe Usuario:
package org.sigho.persistencia.bean;

import java.util.*;

public class Usuario {

private int codigo;
private String nome;
private String email;
private String login;
private String senha;
private int status;

//construtor, gets e sets
}
mapeamento:

<id name="codigo">
        <generator class="increment"/>
    </id>

    <property name="nome" length="50" not-null="true"/>
    <property name="login" length="15" not-null="true"/>
    <property name="senha" length="50" not-null="true"/>
    <property name="email" length="50"/>
    <property name="status" not-null="true"/>
</class>

Quando vou listar os usuarios, ele busca direitinho do banco e retorna todos eles. Mais se tento usar o metodo ‘session.save(usuario);’ ele retorna o erro postado no post acima. Alguem sabe o q pode ser??

G
try {
        factory = new Configuration().configure().buildSessionFactory();
    } catch (Exception e) {
        e.printStackTrace();
        factory = null;
    }
    session = factory.openSession();
    trans = session.beginTransaction();
    Usuario usuario = new Usuario();
    usuario.setNome("Thiago Cristian de Souza");
    usuario.setLogin("gambit");
    usuario.setSenha("123");
    usuario.setEmail("[email removido]");
    usuario.setStatus(1);
    session.save(usuario);
    trans.commit();
    session.close();

É assim q eu estou tentando inserir no BD, alguem sabe o q pode ser??

ramilani12

Verifique no seu mapeamento sei lá Usuario.hbm.xml se vc fez referencia a essa classe ou incluiu o mapeamento no arquivo hibernate.cfg.xml

G

O mapeamento da classe no hibernate.cfg.xml esta la

e eu faco a referencia…
eu nao consigo entender o porque de conseguir pegar o dados mais nao conseguir salvar dados no banco.

F

Porque o nome da tabela ta com aquelas aspas simples?

]['s

G

estou usando o postgres, ai quando nao coloco as aspas simples, ele nao passa a tabela ‘Usuario’ com a letra maiuscula, ai o bd nao reconhece.

seufagner

org.hibernate.MappingException: Unknown entity: org.sigho.persistencia.bean.Usuario

É o óbvio.
Verifica se teu mapeamento para esta entidade está correto

[]s

Criado 10 de maio de 2007
Ultima resposta 10 de mai. de 2007
Respostas 7
Participantes 4