Nie wiem, co to jest JPA (mogę to wygooglować; mam na myśli to, że nie znam się na tym); ale:jeśli jest jakaś nadzieja na obsłużenie zapytania SQL, a jedynym problemem jest tłumaczenie warunku na krotki, przepisz zapytanie w ten sposób:
select city
from user
where firstname = 'a' and lastname = 'b'
or firstname = 'c' and lastname = 'd'
;
Niezależnie od tego mechanizm zapytań zrobi z oryginalnym zapytaniem; możesz spojrzeć na PLAN WYJAŚNIENIA, aby się o tym przekonać.
Niektórzy ludzie lubią umieszczać nawiasy wokół każdej pary AND
- połączone warunki; Nie, tak samo jak użyłbym nawiasów dla 2 * 3 + 4 * 6, ale jeśli uważasz, że dodają jasności, możesz je dodać.