对于以下JPA查询:
Emp e = (Emp) em.createQuery("SELECT emp FROM Addr a INNER JOIN a.emp
WHERE a.city=:city").setParameter("city", "whatever").getSingleResult();
我收到错误: java.lang.IllegalStateException:没有节点的数据类型:org.hibernate.hql.ast.tree.IdentNode - [IDENT] IdentNode:'emp'{originalText = emp}
Emp和Addr是实体类,有一个(Emp)到多个(Addr),它们之间的关系。
答案 0 :(得分:0)
好的......找到了解决方案,查询应该如下:
SELECT a.emp FROM Addr a INNER JOIN a.emp
WHERE a.city=:city"
注意,SELECT子句中的a.emp,仅针对emp。