2013-04-27 53 views
0

对于以下JPA查询: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:对于节点没有任何数据类型:有机hibernate.hql.ast.tree.IdentNode - [IDENT] IdentNode: 'EMP'{originalText = EMP}

Emp和地址是实体类,其中一个(EMP)到许多(ADDR),它们之间的关系。

回答

0

好吧......找到了解决办法,查询应该是这样的:

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

注意,在SELECT子句a.emp,如只针对EMP。