0

对于以下 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: No data type for node: org.hibernate.hql.ast.tree.IdentNode -[IDENT] IdentNode: 'emp' {originalText=emp}

Emp 和 Addr 是实体类,它们之间具有 One(Emp) 到 Many(Addr) 的关系。

4

1 回答 1

0

好的...找到解决方案,查询应如下所示:

SELECT a.emp FROM Addr a INNER JOIN a.emp 
WHERE a.city=:city"

请注意,SELECT 子句中的 a.emp 仅针对 emp。

于 2013-04-27T10:40:03.343 回答