DolphaGo / TIL

TIL & issues
0 stars 1 forks source link

[SQL] AND 가 OR보다 우선순위가 더 높다! #122

Open DolphaGo opened 1 year ago

DolphaGo commented 1 year ago

querydsl을 이용하여 multiple depth query를 만드는 상황이었다.

내가 원하는 것은 다음과 같은 조건 결합이었다.

1 and ( 2 or (3-a and 3-b))

그래서 querydsl 쿼리를 다음과 같은 형태로 작성했다.

...
.where(조건1, 조건2.or(조건3-a.and(조건3-b)))

그런데 결과는 다음과 같았다.

image

하지만 AND가 OR보다 우선순위가 높기 때문에, Hibernate에서는 괄호가 표시되어 나오지 않는다. 따라서 의도한대로 동작한다.