Olá, tentando fazer o Hibernate3 funcionar pela primeira vez e estou empacado no seguinte erro:
org.hibernate.MappingException: Unknown entity: from Tarifa
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFacto
ryImpl.java:569)
at org.hibernate.impl.SessionImpl.getOuterJoinLoadable(SessionImpl.java:
1337)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1303)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:300)
at TarifaDAO.getList(TarifaDAO.java:27)
at TesteHib.main(TesteHib.java:11)
Press any key to continue...
O mapeamento está ok. A classe DAO da minha classe de teste aparentemente não tem problema. Se alguém souber o que é isso ajuda aí. Obrigado.
Sua classe Tarifa está dentro de algum pacote? Se sim, você tem que definir o caminho completo da classe no arquivo <Nomedaclasse>.hbm.xml dentro da tag class name
[quote=ManchesteR]Sua classe Tarifa está dentro de algum pacote? Se sim, você tem que definir o caminho completo da classe no arquivo <Nomedaclasse>.hbm.xml dentro da tag <class name.
Como está o seu DAO? na verdade, como você está iniciando o SessionFactory?
Outra coisa, eu aconselho você a usar apenas o arquivo hibernate.cfg.xml ao invés do hibernate.properties e Annotations ao invés dos arquivos .hbm.xml.
eu estou tentando configurar o hibernate sem annotations por enquanto. Mas o famoso “unknown entity” insiste em me perturbar. Eu estou adicionando a classe usando “cfg.addClass(Tarifa.class);” e também no arquivo “hibernate.cfg.xml” e nada faz o bendito ser mapeado.
nos tutorias eu li que o arquivo hibernate.cfg.xml é carregado automaticamente. Isso está certo? Como eu faço pra carregar ele explicitamente. Pq meu palpite é que ele nao está sendo carregado. Obrigado.
agora ficou até engraçado: Se eu insiro a linha “cfg.addClass(Tarifa.class);” o erro é o seguinte:
org.hibernate.MappingException: Error reading resource: Tarifa.hbm.xml
at org.hibernate.cfg.Configuration.addClass(Configuration.java:471)
at TarifaDAO.<init>(TarifaDAO.java:15)
at TesteHib.main(TesteHib.java:10)
Caused by: org.hibernate.MappingException: duplicate import: Tarifa
Se eu retiro a linha (supondo que a classe Tarifa já foi mapeada) o erro é o seguinte:
org.hibernate.MappingException: Unknown entity: from Tarifa
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFacto
ryImpl.java:569)
at org.hibernate.impl.SessionImpl.getOuterJoinLoadable(SessionImpl.java:
1337)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1303)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:300)
at TarifaDAO.getList(TarifaDAO.java:27)
at TesteHib.main(TesteHib.java:11)
Press any key to continue...
ja testei… se tirar o mapeamento do hibernate.cfg.xml da problema na hora de parsear. o parser sente falta da tag e reclama:
[code]org.hibernate.HibernateException: problem parsing configurationhibernate.cfg.xml
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1173)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1112)
at TarifaDAO.<init>(TarifaDAO.java:11)
at TesteHib.main(TesteHib.java:10)
Caused by: org.hibernate.MappingException: invalid configuration
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1169)
… 3 more
Caused by: org.xml.sax.SAXParseException: The content of element type “session-f
actory” is incomplete, it must match “(property*,mapping+,(class-cache|collectio
n-cache|jcs-class-cache|jcs-collection-cache)*)”.[/code]