Iniciando em Hibernate: "Unknown entity" [RESOLVIDO]
19 respostas
rissato
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.
Arquivo xml apenas o “.hbm.xml”.
Além desse, fiz o arquivo de configuração “hibernate.properties”.
Apenas esses dois.
kissdemon
Como está o seu xml??
Parece não estar encontrando o mapeamento dentro do
rissato
Arquivo Tarifa.hbm.xml
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping.dtd"><hibernate-mapping><classname="Tarifa"table="tarifa"><idname="cod"column="cod"type="int"><generatorclass="assigned"/></id><propertyname="valor"type="double"/><propertyname="dia"type="string"/><propertyname="horaInicio"type="string"/><propertyname="horaFim"type="string"/><propertyname="tipo"type="string"/></class></hibernate-mapping>
Jair_Rillo_Junior1 like
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
Exemplo
<class name="br.com.guj.beans.Tarifa" table.....>
rissato
[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.
Exemplo
><classname="br.com.guj.beans.Tarifa"table.....
nao… nenhuma classe está dentro de pacote algum.
Jair_Rillo_Junior
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.
rissato
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.
M
maul
Qual o nome do seu bean? é apenas Tarifa mesmo?
pergunta besta mas vamo tenta ueh!
flw.
rissato
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...
M
maul
jah tiro o mapeamento do hibernate_cfg.xml pra ve o erro q dá?
digo, deixar apenas o cfg.addClass(Tarifa.class)
ta até engraçado esse erro hehehe.
flw.
rissato
ja testei... se tirar o mapeamento do hibernate.cfg.xml da problema na hora de parsear. o parser sente falta da tag e reclama: