Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

que erro é esse, alguém sabe?

Aula 2 Java e JPA

ai. 09, 2021 11:18:35 PM org.hibernate.hql.internal.ast.ErrorTracker reportError
ERROR: line 1:162: unexpected token: pedido
mai. 09, 2021 11:18:35 PM org.hibernate.hql.internal.ast.ErrorTracker reportError
ERROR: line 1:162: unexpected token: pedido
line 1:162: unexpected token: pedido
    at org.hibernate.hql.internal.antlr.HqlBaseParser.fromClassOrOuterQueryPath(HqlBaseParser.java:1972)
    at org.hibernate.hql.internal.antlr.HqlBaseParser.fromRange(HqlBaseParser.java:1499)
    at org.hibernate.hql.internal.antlr.HqlBaseParser.fromClause(HqlBaseParser.java:1343)
    at org.hibernate.hql.internal.antlr.HqlBaseParser.selectFrom(HqlBaseParser.java:1063)
    at org.hibernate.hql.internal.antlr.HqlBaseParser.queryRule(HqlBaseParser.java:748)
    at org.hibernate.hql.internal.antlr.HqlBaseParser.selectStatement(HqlBaseParser.java:319)
    at org.hibernate.hql.internal.antlr.HqlBaseParser.statement(HqlBaseParser.java:198)
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:290)
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:189)
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:144)
    at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:113)
    at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:73)
    at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:155)
    at org.hibernate.internal.AbstractSharedSessionContract.getQueryPlan(AbstractSharedSessionContract.java:604)
    at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:716)
    at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:816)
    at org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:23)
    at br.com.jmccursos.loja.dao.PedidoDao.relatorioDeVendas(PedidoDao.java:38)
    at br.com.jmccursos.loja.testes.CadastroDePedido.main(CadastroDePedido.java:52)

Exception in thread "main" java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: pedido near line 1, column 162 [SELECT new br.com.jmccursos.loja.vo.RelatorioDeVendasVo(produto.nome, SUM(item.quantidade), MAX(pedido.data))FROM br.com.jmccursos.loja.modelo.Pedido pedidoJOIN pedido.itens itemJOIN item.produto produtoGROUP BY produto.nomeORDER BY item.quantidade DESC]
    at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:138)
    at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181)
    at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:188)
    at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:725)
    at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:816)
    at org.hibernate.internal.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:23)
    at br.com.jmccursos.loja.dao.PedidoDao.relatorioDeVendas(PedidoDao.java:38)
    at br.com.jmccursos.loja.testes.CadastroDePedido.main(CadastroDePedido.java:52)
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: pedido near line 1, column 162 [SELECT new br.com.jmccursos.loja.vo.RelatorioDeVendasVo(produto.nome, SUM(item.quantidade), MAX(pedido.data))FROM br.com.jmccursos.loja.modelo.Pedido pedidoJOIN pedido.itens itemJOIN item.produto produtoGROUP BY produto.nomeORDER BY item.quantidade DESC]
    at org.hibernate.hql.internal.ast.QuerySyntaxException.convert(QuerySyntaxException.java:74)
    at org.hibernate.hql.internal.ast.ErrorTracker.throwQueryException(ErrorTracker.java:93)
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:297)
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:189)
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:144)
    at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:113)
    at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:73)
    at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:155)
    at org.hibernate.internal.AbstractSharedSessionContract.getQueryPlan(AbstractSharedSessionContract.java:604)
    at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:716)
    ... 4 more
2 respostas
solução!
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: pedido near line 1, column 162 [SELECT new br.com.jmccursos.loja.vo.RelatorioDeVendasVo(produto.nome, SUM(item.quantidade), MAX(pedido.data))FROM br.com.jmccursos.loja.modelo.Pedido pedidoJOIN pedido.itens itemJOIN item.produto produtoGROUP BY produto.nomeORDER BY item.quantidade DESC]

Pela mensagem de erro acima "pedido" não é um atributo válido para a classe "Pedido", pode ser que a query esteja com sintaxe errada também "pedidoJOIN pedido.itens" parece que precisa de um espaço entre pedido e JOIN

Obrigado! estava faltando espaços na concatenação das queries. Muito grato.