Почему запрос queryDsl не возвращает тот же результат, что и тот же запрос Oracle SQL? - PullRequest
0 голосов
/ 04 августа 2020

Oracle запрос

SELECT a.id
FROM A a,
     B b
WHERE a.id = b.aId
  AND b.someNumber = 123456789
  AND (a.status = 'C' OR a.status = 'D');

Результат:

Результат с одним идентификатором, например: [123]

Запрос QueryDsl:

QA qA = QA.a;
QB qB = QB.b;

List<Long> ids = queryFactory.select(qA.id)
        .from(qA, qB)
        .where(qB.key.aId.eq(qA.id))             // B has a object as a primary key, including the aId
        .where(qB.someNumber.eq(123456789L))
        .where(qA.status.eq("C")
                .or(qA.status.eq("D")))
        .fetch();

log(ids); // Imaginary log - no issue there (debugged it - list is empty)

Результат:

Empty []

Я ожидаю, что запрос queryDsl вернет тот же результат, что и запрос oracle. Я что-то упустил?

PS: имена были изменены на A и B, но структура на 100% такая же

...