【发布时间】:2015-01-13 17:57:20
【问题描述】:
我想根据来自 ProjectPage 的两个表的不同 id 将表 Project 与表 ProjectPage 连接起来,我正在使用 HQL 并尝试了以下操作:
EntityManager em = entityManager();
TypedQuery<Project> q = em.createQuery("SELECT o FROM Project AS o inner join
(SELECT DISTINCT pp.id from ProjectPage) pp" +
"on o.id=pp.id WHERE LOWER(o.name) LIKE LOWER(:name) "+
"and ( o.status is null or o.status != :status_val)", Project.class);
我收到以下错误:
ERROR org.hibernate.hql.internal.ast.ErrorCounter : unexpected token: (
我的查询有什么问题?
【问题讨论】:
-
试试:
"SELECT o FROM Project AS o inner join (SELECT DISTINCT pp.id from ProjectPage pp) ppid " + "on o.id=ppid WHERE LOWER(o.name) LIKE LOWER(:name) "+ "and ( o.status is null or o.status != :status_val)你错过了内连接上 ProjectPage 的别名。
标签: sql hibernate hql nested-queries