添加其他OR条件时,JPQL查询不会产生任何结果

时间:2018-06-11 08:19:05

标签: java jpa jpql

我正在尝试构造一个where子句,其中值存在于列表或列表列表中。查询本身很长,所以我只发布WHERE子句

WHERE site.siteID = ?3 AND items.itemID = ?4  AND  ( ?5 MEMBER OF itemData.listValue )

我已经尝试过针对特定网站和itemID,我得到了3个结果,这是正确的。现在我试图也包括列表列表,但这不起作用:

WHERE site.siteID = ?3 AND items.itemID = ?4  AND  ( ?5 MEMBER OF itemData.listValue OR ?6 MEMBER OF itemListData.listValue)

这不会抛出异常,它只返回0结果(参数5和6具有相同的值)。

以下是(缩短的)相应实体:

public Site{
    private Item item;
    private List<Item> items;
}

public Item{
    private List<String> listValue;
}

所以我真正要做的就是选择所有实体,其中传递的值在item.listValue中或在任何items.listValue中。令我感到困惑的是,添加OR条件会减少结果集。我更喜欢将Site.item移动到项目列表的数据模型,但遗憾的是我无法更改实体。非常感谢任何帮助!

0 个答案:

没有答案