猿问

为什么 JPQL 表达式不能导航到作为集合的关系字段之外?

摘自 Java EE 7 教程

SELECT DISTINCT p FROM Player p, IN (p.teams) AS t WHERE t.city = :city

表达式无法导航到(或进一步限定)作为集合的关系字段。在表达式的语法中,集合值字段是终结符号。因为 teams 字段是一个集合,所以 WHERE 子句不能指定 p.teams.city(非法表达式)。

为什么表达式不能导航到作为集合的关系字段之外?


陪伴而非守候
浏览 89回答 1
1回答

慕尼黑5688855

我没有设计语言,我当然可以错过更重要的原因,但恕我直言,这没有多大意义:p.teams.city读作“city属性的属性teams” p。而是teams一个集合。并且集合没有任何city属性。这至少是记住这不是 vald JPQL 的好方法。
随时随地看视频慕课网APP

相关分类

Java
我要回答