【发布时间】:2020-09-05 15:31:46
【问题描述】:
我正在尝试运行查询,但不确定它是否受支持,我面临的问题是我想在查询中传递一个列表。我在查询中也有一些连接,查询失败并显示消息:
org.hibernate.hql.internal.ast.QuerySyntaxException:意外令牌:开启。
我怎样才能做到这一点?
EntityManager em = emf.createEntityManager();
Query query = em.createQuery(
" SELECT s,c from Sow s left join ChildSow c " +
" inner join Project p on p.projectId = s.projectId on s.employeeId = c.employeeId " +
" and s.projectId = c.correctProjectId ");
@SuppressWarnings("unchecked")
List<Object> list = query.getResultList();
em.close();
9:56:35.195 [http-nio-8080-exec-1] ERROR o.h.hql.internal.ast.ErrorTracker - line 1:211: unexpected token: on
19:56:35.204 [http-nio-8080-exec-1] ERROR o.h.hql.internal.ast.ErrorTracker - line 1:211: unexpected token: on
antlr.NoViableAltException: unexpected token: on
at org.hibernate.hql.internal.antlr.HqlBaseParser.atom(HqlBaseParser.java:3633)
at org.hibernate.hql.internal.antlr.HqlBaseParser.unaryExpression(HqlBaseParser.java:3401)
at org.hibernate.hql.internal.antlr.HqlBaseParser.multiplyExpression(HqlBaseParser.java:3273)
at org.hibernate.hql.internal.antlr.HqlBaseParser.additiveExpression(HqlBaseParser.java:2930)
at org.hibernate.hql.internal.antlr.HqlBaseParser.concatenation(HqlBaseParser.java:615)
at org.hibernate.hql.internal.antlr.HqlBaseParser.relationalExpression(HqlBaseParser.java:2697)
at org.hibernate.hql.internal.antlr.HqlBaseParser.equalityExpression(HqlBaseParser.java:2653)
at org.hibernate.hql.internal.antlr.Hql
【问题讨论】:
-
请去掉与问题无关的注释代码。还请提供完整的堆栈跟踪。
-
如前所述添加