본문 바로가기
👩‍💻TIL/JPA

[JPA/Hibernate] Restrictions 다중 조건 설정하기

by devuna 2020. 8. 5.
728x90

[JPA/Hibernate] Restrictions 다중 조건 설정하기

최근 Groovy&Grails를 사용하면서 JPA ORM 과 유사한 GORM을 사용하고 있다. GORM이란?

GORM과 ORM은 기본 문법이나, 큰 틀이 거의 유사하다.

 

하이버네이트 쿼리문을 작성하는 과정에서 조건을 2개 설정할때 오류가 발생했는데

원하는 equal 조건을 담은 다음 and로 연결하니 쿼리가 아주 잘 돌아갔다😂

 

1. 먼저 Criterion으로 eq 조건을 담아준다.

Criterion period = Restrictions.eq('period', searchPeriod)
Criterion type = Restrictions.eq('type', searchType)
Criterion username = Restrictions.eq("username", username); 

 

2. 작성한 eq 조건들을 and에 담아준다. 이때, LogicalExpression를 중복해서 사용할 수도 있다.

LogicalExpression and = Restrictions.and(period, type); 
LogicalExpression userAnd = Restrictions.and(and, username);

 

 

즉, 하이버네이트 다중 조건은 설정을 위해서는 원하는 equal 조건을 담은 다음 and를 사용하면 간단하게 해결!

 

728x90

댓글