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
'👩💻TIL > JPA' 카테고리의 다른 글
[JPA] N+1 문제 발생 원인과 해결방법 (0) | 2022.08.31 |
---|---|
[JPA] 영속성 관리, 준영속 상태와 지연로딩, N+1 문제 발생 원인 (0) | 2022.08.31 |
[hibernate]org.hibernate.HibernateException: No Session found for current thread 에러 해결 (0) | 2020.09.04 |
댓글