简体   繁体   English

JPA命名查询使用OR和Null运算符给出空结果

[英]JPA named query using OR and Null Operator giving empty result

Written named query 写命名查询

  @NamedQuery(name = PKGruppeBE.FIND_ALL_GROUP_SPECIFIC, query = "SELECT e FROM PKGruppeBE e 
  WHERE 
  (e.tkgroup.id = ?1 OR e.tkgroup IS NULL )")

But query is not giving correct result, 但查询没有给出正确的结果,

if there is a match , and tkgroup is null giving only matched results, 如果匹配 ,并且tkgroup为null ,只给出匹配的结果,

if there is no match , and tkgroup is null giving empty result. 如果没有匹配 ,则tkgroup为null,给出空结果。

My requirement is I have to get all results where tkgroup is null and if are there any matches those results also. 我的要求是我必须得到tkgroup为null的所有结果,如果有任何匹配那些结果也是如此。

试试这是否有效

SELECT e FROM PKGruppeBE e left join e.tkgroup gr WHERE gr.id = ?1 OR gr IS NULL

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM