Hibernate + Unknown Entity

E ae!
galera,to tendo problemas aqui no o hibernate.Meu mapeamento sempre funcionou direitinho e tal,agora toda tabela q eu mapeio não funciona,recebo este erro:

Exception in thread "AWT-EventQueue-0" org.hibernate.MappingException: Unknown entity: Modelos.ControleCaixa at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:693) at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1485) at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:120) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210) at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195) at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93) at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:713) at org.hibernate.impl.SessionImpl.save(SessionImpl.java:701) at org.hibernate.impl.SessionImpl.save(SessionImpl.java:697) at DAO.ControleCaixaDAO.insere(ControleCaixaDAO.java:29) at Interface.Cadastro.CadastrarControleCaixa.btSalvarActionPerformed(CadastrarControleCaixa.java:227) at Interface.Cadastro.CadastrarControleCaixa.access$000(CadastrarControleCaixa.java:26) at Interface.Cadastro.CadastrarControleCaixa$1.actionPerformed(CadastrarControleCaixa.java:92) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6289) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6054) at java.awt.Container.processEvent(Container.java:2041) at java.awt.Component.dispatchEventImpl(Component.java:4652) at java.awt.Container.dispatchEventImpl(Container.java:2099) at java.awt.Component.dispatchEvent(Component.java:4482) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) at java.awt.Container.dispatchEventImpl(Container.java:2085) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4482) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644) at java.awt.EventQueue.access$000(EventQueue.java:85) at java.awt.EventQueue$1.run(EventQueue.java:603) at java.awt.EventQueue$1.run(EventQueue.java:601) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$2.run(EventQueue.java:617) at java.awt.EventQueue$2.run(EventQueue.java:615) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:614) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

Segue meu mapeamento na classe modelo:

@Entity @Table(name="controle_caixa") public class ControleCaixa { @Id@GeneratedValue private long id; @Temporal(TemporalType.DATE) private java.util.Date Data; private float valor; private String tipo; private String motivo;

Segue a estrutura da tabela:

DROP TABLE IF EXISTS `paulobaterias`.`controle_caixa`; CREATE TABLE `paulobaterias`.`controle_caixa` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `tipo` varchar(9) DEFAULT NULL, `valor` float DEFAULT NULL, `data` date DEFAULT NULL, `motivo` varchar(80) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

E por último,meu arquivo xml:

[code]<?xml version="1.0" encoding="UTF-8"?>

 <!DOCTYPE hibernate-configuration PUBLIC  
        "-//Hibernate/Hibernate Configuration DTD//EN"  
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  
root jdbc:mysql://localhost/paulobaterias com.mysql.jdbc.Driver org.hibernate.dialect.MySQL5InnoDBDialect true true true true [/code]

É isso,alguem pode me ajudar?pq será q estou tendo esse problema?outra tabela que criei recentemente eu tive o mesmo problema…
vlw pela atenção!

Isso já aconteceu comigo. Poste os imports da página, talvez você possa estar importando de pacotes errados. Tente copiar os imports de outra classe que esteja funcionando.

os imports de qual classe?

Da sua entidade que está dando erro.

[code]package Modelos;

import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;[/code]

ta aí,mas eu uso esses mesmos imports para outras entidades que estão funcionando normal… =/

[quote=AlencarCanton][code]package Modelos;

import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;[/code]

ta aí,mas eu uso esses mesmos imports para outras entidades que estão funcionando normal… =/[/quote]
Cara que estranho. Os imports parecem estar corretos e o mapeamento também. =(

velho,isso ta me tirando o sono…
ja vasculhei tudo,e nao acho o pq de não identificar a tabela…acho que o erro deve estar no xml,qualquer espaço errado compromete o arquivo do xml,não é?tá foda…
mas valeu mesmo pela força aí,brother!
alguem mais pode dar uma olhada nos códigos?

Essa propriedade não está errada?
O certo não seria:

<property name="hibernate.hbm2ddl.auto">update</property> 

Com um 2 a menos e passando update para ele atualizar as tabelas automaticamente.

alterei dessa forma,e recebi o mesmo erro… =/

Esses dois possuem um hibernate antes:

<property name="hibernate.show_sql">true</property>  
<property name="hibernate.format_sql">true</property>

Cara vc não tem que passar a porta do banco ?

jdbc:mysql://localhost/paulobaterias

se não me engano a porta do mysql é 3306 ficaria assim

jdbc:mysql://localhost:3306/paulobaterias

alterei aqui,mas continua dando o mesmo erro…
essas linhas parece que funcionam sem o ‘hibernate.’ antes,pq sempre mostrou as querys tudo certinho…
mais alguma coisa?

Você tem duas declarações da propriedade “SHOW_SQL” no seu hibernate.cfg.xml…

E achei outra coisa, que não sei se tem problema, mas no atributo “id” da entidade, as anotações estão sem espaço entre elas. Está assim “@Id@GeneratedValue”… Não tem que ter espaço não? Nunca testei pra saber se tem problema, é só um chute =P

@MGSAHAO
coloquei a porta do banco e continua com o mesmo erro de mapeamento…mas a conexao funcionava normal sem colocar a porta

@bob_sponja
tirei um "SHOW_SQL’ e não funcionou.
Sim,funciona as duas anotações sem ter espaço.

=/

funcionava normal ? a partir de que momento parou de funcionar ?

funcionava normal…fazia um tempinho que nao criava uma tabela,precisei criar,então fiz o mapeamento tudo certinho,tudo da forma como eu sempre fiz,e simplismente não identificava a tabela,criei outra tabela e continua dando o mesmo erro…até pensei de o número de tabelas no .xml ser limitado,mas fiz alguns testes retirando algumas linhas de mapeamento do .xml e nada…

Cara vc cria tabela com espaço ? bom eu nunca fiz isso, mais se o create funciono deve funcionar…
o que eu posso te dizer é para testar sua conexão, faz alguma coisa com Statement e ResultSet só para testar…

Camarada, não tem nada a ver com espaço, repetição de propriedades no xml ou coisas assim.
Por algum motivo, o mapeamento da classe não está coincidindo com o local em que ela é colocada quando o projeto é empacotado.

Caso fosse qualquer das outras “esotéricas” tentativas, o erro não seria este.

esse erro ocore logo quando voce inicia a aplicação?

posta seu dao pra gente da uma olhada

@michelorth_
o erro rola qndo eu vou inserir um objeto no banco,
segue o DAO,mas é o mesmo que eu uso pra todas as outras tabelas e funciona nelas:

public void insere(ControleCaixa cc) throws HibernateException { org.hibernate.Transaction tx = session.beginTransaction(); session.save(cc); tx.commit(); }

@MGSAHAO
a conexao ta normal porque inserção em outras tabelas funciona normalmente…