Я пытаюсь создать предложение 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 перемещен в список элементов, но я, к сожалению, не могу изменить сущности.Любая помощь с благодарностью!