Jeg ved ikke, hvad JPA er (jeg kan Google det; det jeg mener er, at jeg ikke er bekendt med det); men:hvis der er håb om at håndtere en SQL-forespørgsel, og det eneste problem er at oversætte en betingelse på tuples, så omskriv forespørgslen sådan:
select city
from user
where firstname = 'a' and lastname = 'b'
or firstname = 'c' and lastname = 'd'
;
Dette er, hvad forespørgselsmotoren vil gøre med din oprindelige forespørgsel uanset; du kan se på en FORKLAR PLAN for at overbevise dig selv om dette.
Nogle mennesker kan lide at sætte parenteser omkring hvert par AND
-forbundne forhold; Det gør jeg ikke, lige så lidt som jeg ville bruge parenteser til 2 * 3 + 4 * 6, men hvis du føler, at de tilføjer klarhed, kan du med alle midler tilføje dem.