본문 바로가기
Spring Framework/JPA

JPA WHERE AND OR 사용방법 정리

by wakestand 2022. 8. 14.
반응형

JPA에서 위 이미지의 테이블 Sample을 가지고

WHERE AND, OR

조건을 적용해서 조회하려고 하는데

 

먼저 

SELECT * FROM WHERE GENDER = 'W' AND AGE = 25

인 항목을 조회하려면

 

Repository에 아래와 같이

findByGenderAndAge(String gender, Long age)

( findBy컬럼명And컬럼명 )

And컬럼명을 추가하는 식으로 메소드를 작성한다

 

sampleRepository.findByGenderAndAge("W", 25L)

[Sample(id=3, name=영희, gender=W, age=25, createdDate=null, updatedDate=null)]

 

메소드를 작성한 뒤 호출해보면

gender가 W면서 age가 25인 항목만

조회되는 것이 보인다

 

다음으로 OR을 사용하는 경우인데

SELECT * FROM SAMPLE WHERE GENDER = 'W' OR AGE = 25

인 항목을 조회하려면

 

Repository에 아래와 같이

findByGenderOrAge(String gender, Long age)

( findBy컬럼명Or컬럼명 )

Or컬럼명 을 붙이는 식으로 메소드를 작성한다

 

sampleRepository.findByGenderOrAge("W", 25L)

[Sample(id=2, name=수철, gender=M, age=25, createdDate=null, updatedDate=null)
, Sample(id=3, name=영희, gender=W, age=25, createdDate=null, updatedDate=null)
, Sample(id=4, name=수진, gender=W, age=30, createdDate=null, updatedDate=null)]

 

이후 작성한 메소드를 호출해보면

Gender가 W거나 혹은 Age가 25인 항목이

조회되는 것이 보인다

반응형

댓글