Я хочу объединить таблицу Project с таблицей ProjectPage на основе разных идентификаторов из двух таблиц 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 во внутреннем соединении. - person rion18   schedule 13.01.2015