[RESOLVIDO] Erro org.hibernate.hql.internal.ast.QuerySyntaxException <ClassName> is not mapped

Prezados,

Estou com um problema ao efetuar uma consulta HQL. Utilizo o Hibernate 4.2.15.

Ao executar ocorre o seguinte erro:

org.hibernate.hql.internal.ast.QuerySyntaxException: MovTitulosCobranca is not mapped [ select m from MovTitulosCobranca m] at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:114) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] at javax.faces.component.UIOutput.getValue(UIOutput.java:169) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:355) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1764) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:402) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.10.Final.jar:] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.10.Final.jar:] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.10.Final.jar:] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.10.Final.jar:] at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.1.0.Final.jar:7.1.0.Final] at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:154) [jboss-as-web-7.1.0.Final.jar:7.1.0.Final] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.10.Final.jar:] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.10.Final.jar:] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.10.Final.jar:] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.10.Final.jar:] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.10.Final.jar:] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.10.Final.jar:] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.10.Final.jar:] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_71] Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: MovTitulosCobranca is not mapped [ select m from MovTitulosCobranca m] at org.hibernate.hql.internal.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:180) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.hql.internal.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:110) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.hql.internal.ast.tree.FromClause.addFromElement(FromClause.java:93) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.hql.internal.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:326) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3252) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:3141) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:694) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:550) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:287) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.hql.internal.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:235) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:248) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:183) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:136) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:101) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:80) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:119) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.internal.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:214) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:192) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.hibernate.internal.SessionImpl.createQuery(SessionImpl.java:1537) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at br.com.managedbeans.AcompanhamentoCobrancaMB.getQuery(AcompanhamentoCobrancaMB.java:53) [classes:] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_71] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_71] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_71] at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_71] at javax.el.BeanELResolver.getValue(BeanELResolver.java:302) [jboss-el-api_2.2_spec-1.0.0.Final.jar:1.0.0.Final] at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] at org.apache.el.parser.AstValue.getValue(AstValue.java:169) [jbossweb-7.0.10.Final.jar:] at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189) [jbossweb-7.0.10.Final.jar:] at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT] ... 30 more

Meus códigos:

AcompanhamentoCobrancaMB.java

[code]package br.com.managedbeans;

import java.util.Calendar;
import javax.faces.bean.ManagedBean;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.mapping.List;javascript:void(0);
import br.com.util.HibernateUtil;

@ManagedBean
public class AcompanhamentoCobrancaMB {

public List getQuery() {

	String queryHql2 = " select m from MovTitulosCobranca m";
	Session sessao = HibernateUtil.getSessionFactory().openSession();
	try {
		// List retorno = (List) sessao.createQuery(queryHql2);
		Query query = sessao.createQuery(queryHql2);
		List retorno = (List) query;
		return retorno;

	} finally {
		sessao.close();
	}

}

}[/code]

Hibernate.cfg.xml

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

oracle.jdbc.driver.OracleDriver oracle jdbc:oracle:thin:@localhost:xe system org.hibernate.dialect.Oracle10gDialect thread [/code]

Classe MovTitulosCobranca.java

[code]package br.com.model;

import java.io.Serializable;
import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;

@Entity
@Table(name = “MOV_TITULOS_COBRANCA”)
public class MovTitulosCobranca implements Serializable {
private static final long serialVersionUID = 1L;

@EmbeddedId
private MovTitulosCobrancaPK id;

private BigDecimal acrescimo;

@Column(name = "ARQUIVO_BAIXA")
private String arquivoBaixa;

@Column(name = "ARQUIVO_CHAVE")
private String arquivoChave;

@Column(name = "ARQUIVO_ENVIO")
private String arquivoEnvio;

@Column(name = "COD_SITUACAO_AGRU")
private BigDecimal codSituacaoAgru;

@Column(name = "COD_SITUACAO_PGTO")
private BigDecimal codSituacaoPgto;

@Column(name = "COD_SITUACAO_PROC")
private BigDecimal codSituacaoProc;

@Column(name = "COD_USUARIO")
private String codUsuario;

@Column(name = "CODIGO_BARRA")
private String codigoBarra;

@Temporal(TemporalType.DATE)
@Column(name = "DATA_ALTERACAO")
private Date dataAlteracao;

@Temporal(TemporalType.DATE)
@Column(name = "DATA_DOCUMENTO")
private Date dataDocumento;

@Temporal(TemporalType.DATE)
@Column(name = "DATA_EMISSAO")
private Date dataEmissao;

@Temporal(TemporalType.DATE)
@Column(name = "DATA_ENVIO")
private Date dataEnvio;

@Temporal(TemporalType.DATE)
@Column(name = "DATA_PAGAMENTO")
private Date dataPagamento;

private BigDecimal desconto;

@Column(name = "ENVIOU_ARQUIVO")
private String enviouArquivo;

@Column(name = "LINHA_DIGITAVEL")
private String linhaDigitavel;

@Column(name = "NUM_CONTA")
private BigDecimal numConta;

private String numero;

private BigDecimal reajuste;

@Column(name = "REGISTR_ANS")
private String registrAns;

@Column(name = "TIPO_EMISSAO")
private String tipoEmissao;

@Column(name = "TIPO_TITULO")
private String tipoTitulo;

private String tipoctr;

@Column(name = "TR_BANCO")
private BigDecimal trBanco;

@Column(name = "TR_PROCEMENTO")
private BigDecimal trProcemento;

@Column(name = "TR_UNICRED")
private BigDecimal trUnicred;

private BigDecimal valor;

@Column(name = "VALOR_PAGO")
private BigDecimal valorPago;

    /*
     * Getter's e Setter's
     */

}[/code]

persistence.xml

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


br.com.model.MovTitulosCobranca

		<!-- propriedades do hibernate -->
		<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect" />
		<property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver" />
		<property name="hibernate.connection.url" value="jdbc:oracle:thin:@localhost:xe" />
		<property name="hibernate.show_sql" value="true" />
		<property name="hibernate.format_sql" value="true" />
		<property name="hibernate.connection.username" value="system" />
		<property name="hibernate.connection.password" value="oracle" />

	</properties>
</persistence-unit>

[/code]

HibernateUtil.java

[code]package br.com.util;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;

public class HibernateUtil {

private static SessionFactory sessionFactory;
private static ServiceRegistry serviceRegistry;

private static SessionFactory configureSessionFactory()
		throws HibernateException {

	Configuration configuration = new Configuration().configure();
	serviceRegistry = new ServiceRegistryBuilder().applySettings(
			configuration.getProperties()).buildServiceRegistry();
	
	sessionFactory = configuration.buildSessionFactory(serviceRegistry);
	
	return sessionFactory;
}

public static SessionFactory getSessionFactory() {
	return configureSessionFactory();

}

public static Session getSession() {
	return getSessionFactory().openSession();
}

}[/code]

Bom dia amigo,

Adiciona a seguinte linha no seu persistence.xml:

[]'s

Desculpe, adicione ao arquivo de configuração do Hibernate, não seria isso?

Perfeito amigo RESOLVIDO, adicionei o mapeamento ao meu hibernate.cfg.xml

Ele ficou assim:

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; &lt;!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"&gt; &lt;hibernate-configuration&gt; &lt;session-factory&gt; &lt;property name="hibernate.connection.driver_class"&gt;oracle.jdbc.driver.OracleDriver&lt;/property&gt; &lt;property name="hibernate.connection.password"&gt;oracle&lt;/property&gt; &lt;property name="hibernate.connection.url"&gt;jdbc:oracle:thin:@localhost:xe&lt;/property&gt; &lt;property name="hibernate.connection.username"&gt;system&lt;/property&gt; &lt;property name="hibernate.dialect"&gt;org.hibernate.dialect.Oracle10gDialect&lt;/property&gt; &lt;property name="hibernate.current_session_context_class"&gt;thread&lt;/property&gt; &lt;mapping class="br.com.model.MovTitulosCobranca"/&gt; &lt;/session-factory&gt; &lt;/hibernate-configuration&gt;

Muito obrigado, eu n sabia q tbm tinha q mapear a classe no hibernate, achava q era apenas no persistence.xml

:slight_smile: