摘自 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
提交
取消