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…