Spring | CRUD 기본 | JPQL 쿼리 문장의 기본

이것으로 CRUD 기본 조작은 할 수 있게 되었다. 여기서 조금 더 알아 두지 않으면 안되는 것은 기본 중에 기본인 “Read"부분이다.

앞의 예제에서는 모든 엔티티를 얻어오는 간단한 샘플이 있었다. 이보다 실제 처리는 더 조건을 세밀하게 지정하여 엔티티를 검색할 필요가 있을 것이다.

엔티티를 얻어올 때, Query라는 클래스를 했었다. 이 Query 인스턴스를 만들 때 “from SampleEntity"라는 문장을 인수로 넣었다. 이 문장은 SQL쿼리 문장과 같은 기능을 하는 것으로, “JPQL"이라고 한다. 다만, SQL과 약간 작성이 다르다. 우선, 엔티티 검색의 기본적인 작성법에 대해 설명을 하겠다.

JPQL의 검색의 기본

from 엔티티 where 조건식

SQL에서도 친숙한 where 절을 사용하면 기본적인 검색은 거의 할 수 있다. 조건이 되는 수식은 등호 등의 비교 연산자 ( =<> )를 사용하여 작성한다.

ID가 1 인 엔티티를 반환

from SampleEntity where id = 1

ID가 2보다 큰 엔터티를 반환

from SampleEntity where id > 2

또한, 텍스트를 검색하려면 퍼지(fuzzy) 검색 “like"를 사용할 수 있다. %기호를 사용하여 와일드 카드의 지정도 가능합니다.

name이 ‘K’로 시작하는 엔터티 반환

from SampleEntity where name like 'K %'

여러 조건식을 설정하려면, “and”, “or"를 사용할 수 있다. where는 “조건식 and 조건식’와 같은 형식으로 여러 조건식을 and/or로 이어 간다.

id가 10이상 20이하의 엔티티를 취득

from SampleEntity where id> = 10 and id <= 20

우선, 이러한 기본적인 검색 방법을 알면 초보적인 데이터 검색의 처리는 대체로 수 있게 될 것이다. 실제로 JPQL 쿼리 문장을 만들어서 실행해 보면 재미있다.