QuerySyntaxException[RESOLVIDO]

Olá a todos estou com um problema de testar um método, toda vez que tento executar o teste recebo a seguinte exception abaixo:

2013-11-08 20:47:20,575 DEBUG - Logging Provider: org.jboss.logging.Log4jLoggerProvider - [org.jboss.logging] 
  2013-11-08 20:47:21,085 INFO  - HCANN000001: Hibernate Commons Annotations {4.0.1.Final} - [org.hibernate.annotations.common.Version] 
  2013-11-08 20:47:21,108 INFO  - HHH000412: Hibernate Core {4.1.8.Final} - [org.hibernate.Version] 
  2013-11-08 20:47:21,116 INFO  - HHH000206: hibernate.properties not found - [org.hibernate.cfg.Environment] 
  2013-11-08 20:47:21,121 INFO  - HHH000021: Bytecode provider name : javassist - [org.hibernate.cfg.Environment] 
  2013-11-08 20:47:22,518 INFO  - HHH000402: Using Hibernate built-in connection pool (not for production use!) - [org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl] 
  2013-11-08 20:47:22,537 INFO  - HHH000115: Hibernate connection pool size: 20 - [org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl] 
  2013-11-08 20:47:22,538 INFO  - HHH000006: Autocommit mode: true - [org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl] 
  2013-11-08 20:47:22,539 INFO  - HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost/cg] - [org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl] 
  2013-11-08 20:47:22,540 INFO  - HHH000046: Connection properties: {user=root, password=****, autocommit=true, release_mode=auto} - [org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl] 
  2013-11-08 20:47:23,434 INFO  - HHH000400: Using dialect: org.hibernate.dialect.MySQL5InnoDBDialect - [org.hibernate.dialect.Dialect] 
  2013-11-08 20:47:23,526 INFO  - HHH000268: Transaction strategy: org.hibernate.engine.transaction.internal.jdbc.JdbcTransactionFactory - [org.hibernate.engine.transaction.internal.TransactionFactoryInitiator] 
  2013-11-08 20:47:23,543 INFO  - HHH000397: Using ASTQueryTranslatorFactory - [org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory] 
  2013-11-08 20:47:23,710 INFO  - HV000001: Hibernate Validator 4.3.0.Final - [org.hibernate.validator.internal.util.Version] 
  2013-11-08 20:47:24,716 INFO  - HHH000228: Running hbm2ddl schema update - [org.hibernate.tool.hbm2ddl.SchemaUpdate] 
  2013-11-08 20:47:24,716 INFO  - HHH000102: Fetching database metadata - [org.hibernate.tool.hbm2ddl.SchemaUpdate] 
  2013-11-08 20:47:24,721 INFO  - HHH000396: Updating schema - [org.hibernate.tool.hbm2ddl.SchemaUpdate] 
  2013-11-08 20:47:24,786 INFO  - HHH000261: Table found: cg.transacao - [org.hibernate.tool.hbm2ddl.TableMetadata] 
  2013-11-08 20:47:24,786 INFO  - HHH000037: Columns: [id, categoria, usuario_id, valor, data, descricao, tipotransacao] - [org.hibernate.tool.hbm2ddl.TableMetadata] 
  2013-11-08 20:47:24,787 INFO  - HHH000108: Foreign keys: [fkb62e16583bdb9bd1] - [org.hibernate.tool.hbm2ddl.TableMetadata] 
  2013-11-08 20:47:24,787 INFO  - HHH000126: Indexes: [fkb62e16583bdb9bd1, primary] - [org.hibernate.tool.hbm2ddl.TableMetadata] 
  2013-11-08 20:47:24,816 INFO  - HHH000261: Table found: cg.usuario - [org.hibernate.tool.hbm2ddl.TableMetadata] 
  2013-11-08 20:47:24,817 INFO  - HHH000037: Columns: [id, status, email, nome, senha] - [org.hibernate.tool.hbm2ddl.TableMetadata] 
  2013-11-08 20:47:24,817 INFO  - HHH000108: Foreign keys: [] - [org.hibernate.tool.hbm2ddl.TableMetadata] 
  2013-11-08 20:47:24,817 INFO  - HHH000126: Indexes: [primary] - [org.hibernate.tool.hbm2ddl.TableMetadata] 
  2013-11-08 20:47:24,820 INFO  - HHH000232: Schema update complete - [org.hibernate.tool.hbm2ddl.SchemaUpdate] 
  2013-11-08 20:47:25,075 ERROR - HHH000177: Error in named query: buscaTodos - [org.hibernate.internal.SessionFactoryImpl] 
  org.hibernate.hql.internal.ast.QuerySyntaxException: usuario is not mapped [select o from usuario o]
	at org.hibernate.hql.internal.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:180)
	at org.hibernate.hql.internal.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:110)
	at org.hibernate.hql.internal.ast.tree.FromClause.addFromElement(FromClause.java:93)
	at org.hibernate.hql.internal.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:324)
	at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3291)
	at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:3180)
	at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:706)
	at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:562)
	at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:299)
	at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:247)
	at org.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:248)
	at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:183)
	at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:136)
	at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:105)
	at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:80)
	at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:168)
	at org.hibernate.internal.SessionFactoryImpl.checkNamedQueries(SessionFactoryImpl.java:1069)
	at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:517)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1750)
	at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:94)
	at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:905)
	at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:890)
	at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:57)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63)
	at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47)
	at br.com.cg.dao.JPAUtil.<clinit>(JPAUtil.java:10)
	at br.com.cg.utilidades.Acesso.existeUsuario(Acesso.java:24)
	at br.com.cg.teste.login.LoginTest.verificaLoginComFalha(LoginTest.java:21)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
.
.
.

Esta exception acontece para todos os namedQuery declarados na classe Usuario, abaixo:

[code]
package br.com.cg.modelo;

import java.util.List;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import br.com.cg.utilidades.Cripto;

@Entity
@Table(name = “usuario”)
@NamedQueries({
@NamedQuery(name = “buscaPorEmail”, query = “select o from usuario o where o.email = :pEmail”),
@NamedQuery(name = “buscaPorNome”, query = “select o from usuario o where o.nome = :pNome”),
@NamedQuery(name = “buscaPorId”, query = “select o from usuario o where o.id = :pId”),
@NamedQuery(name = “buscaTodos”, query = “select o from usuario o”)
})
public class Usuario {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String nome;
private String email;
private String senha;
private Boolean status;

@OneToMany(mappedBy = "usuario")
private List<Transacao> transacoes;

public List<Transacao> getTransacoes() {
	return transacoes;
}

public void setTransacoes(List<Transacao> transacoes) {
	this.transacoes = transacoes;
}

public void setId(Long id) {
	this.id = id;
}

public String getNome() {
	return nome;
}

public void setNome(String nome) {
	this.nome = nome;
}

public String getEmail() {
	return email;
}

public void setEmail(String email) {
	this.email = email;
}

public String getSenha() {
	return senha;
}

public void setSenha(String senha) {
	Cripto cripto = new Cripto();
	this.senha = cripto.encrypt(senha);
}

public Long getId() {
	return id;
}

public Boolean getStatus() {
	return status;
}

public void setStatus(Boolean status) {
	this.status = status;
}

@Override
public String toString() {
	return "Usuario [id=" + id + ", nome=" + nome + ", email=" + email
			+ ", senha=" + senha + ", status=" + status + ", transacoes="
			+ transacoes + "]";
}

}[/code]

o estranho é que associei a classe ao persistence.xml:

<persistence xmlns="http://java.sun.com/xml/ns/persistence"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
	http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
	version="2.0">

	<persistence-unit name="cg">
		<provider>org.hibernate.ejb.HibernatePersistence</provider>
		<class>br.com.cg.modelo.Usuario</class>
		<properties>
		
			<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
			<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/cg" />
			<property name="javax.persistence.jdbc.user" value="root" />
			<property name="javax.persistence.jdbc.password" value="root" />

			<!--Configurações específicas do Hibernate -->
			<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
			<property name="hibernate.hbm2ddl.auto" value="update" />
			<property name="hibernate.show_sql" value="true" />
			<property name="hibernate.format_sql" value="true" />
		</properties>
	</persistence-unit>
</persistence>

Desculpe o post gigante ,alguém tiver alguma ideia do que está acontecendo…

A tua entidade é Usuario e não usuario.

As tuas namesqueries devem ser sobre a entidade e não sobre a tabela.

olá pmlm,

Obrigado por responder, realmente era o que você postou mas não consegui entender porque no NamedQueries devo colocar o nome do entity e não da tabela.

Quando usas o Hibernate, deixas de ter SQL e passas a ter HQL.

Com o SQL operas com tabelas e colunas.
Com o HQL operas com entidades e atributos.

Entendi!, obrigado