Saya mencoba membuat kueri untuk interval waktu menggunakan QueryDSL (tanggal mulai inklusif, tanggal akhir eksklusif).
Di rel dokumentasi QueryDSL Saya menemukan bahwa public BooleanExpression between(Expression<T> from, Expression<T> to);
eksklusif di kedua sisi,
Dapatkan ekspresi pertama ‹ ini ‹ kedua
namun ini diterjemahkan menjadi Oracle SQL BETWEEN
yang inklusif di kedua sisi
(setara dengan first <= this <= second
).
QueryDSL seperti ini:
[...]
person.name.like(n)
.and(person.birthdate.between(from, to))
[...]
diterjemahkan ke Oracle SQL seperti ini:
SELECT *
FROM PERSON
WHERE NAME LIKE n
AND BIRTHDATE BETWEEN from AND to;
Adakah yang tahu alasan/logika di balik ini?
Apakah ini hanya dokumentasi 'busuk'?
Jelas di antara keduanya tidak akan berhasil untuk saya.
Haruskah saya lebih suka menggunakan yang lebih kikuk
person.name.like(n)
.and(person.birthdate.goe(from)
.and(person.birthdate.lt(to))
atau adakah solusi bersih yang sesuai dengan keinginan saya?
between "from" and "to" - 1
? (dengan asumsito_
adalah nilaiDATE
- person a_horse_with_no_name   schedule 03.08.2015between "from" and "to" - interval '1' second
- person Ben   schedule 03.08.2015