摘自 Java EE 7 教程:SELECT DISTINCT p FROM Player p, IN (p.teams) AS t WHERE t.city = :city表达式无法导航到(或进一步限定)作为集合的关系字段。在表达式的语法中,集合值字段是终结符号。因为 teams 字段是一个集合,所以 WHERE 子句不能指定 p.teams.city(非法表达式)。为什么表达式不能导航到作为集合的关系字段之外?
1 回答

慕尼黑5688855
TA贡献1848条经验 获得超2个赞
我没有设计语言,我当然可以错过更重要的原因,但恕我直言,这没有多大意义:p.teams.city
读作“city
属性的属性teams
” p
。而是teams
一个集合。并且集合没有任何city
属性。
这至少是记住这不是 vald JPQL 的好方法。
添加回答
举报
0/150
提交
取消