Как использовать функцию ссылки на запрос с логическими операторами? - PullRequest
0 голосов
/ 20 февраля 2019

Функция ссылки на запрос позволяет имитировать операции JOIN в базах данных.См. https://docs.objectbox.io/queries#add-query-conditions-for-related-entities-links.

У меня есть ПУНКТ сущности, имеющий отношение ToOne к METADATA, т.е. (ITEM -> METADATA).

Я пытаюсь сформулировать следующие запросы.

ITEM.PRECONDITIONS && (METADATA.CONDITION_1 && METADATA.CONDITION_2)
    && ITEM.POSTCONDITIONS

ITEM.PRECONDITIONS || (METADATA.CONDITION_1 || METADATA.CONDITION_2)
    || ITEM.POSTCONDITIONS

Как мне построить запрос в objectbox?

Возможность 1

box.query { PRECONDITIONS() or() link(ITEM.meta_) {
    CONDITION_1() or() CONDITION_2() } or() POSTCONDITIONS() }

Возможность 2

box.query { PRECONDITIONS() link(ITEM.meta_) {
    or() CONDITION_1() or() CONDITION_2() } or() POSTCONDITIONS() }

Возможность 3

box.query { PRECONDITIONS() link(ITEM.meta_) {
    CONDITION_1() or() CONDITION_2() } or() POSTCONDITIONS() }

А как выглядит запрос AND?

...