③ Querydsl 이용한 동적 쿼리 처리 > SPRING_DATA_JPA

본문 바로가기

사이트 내 전체검색

뒤로가기 SPRING_DATA_JPA

③ Querydsl 이용한 동적 쿼리 처리

페이지 정보

작성자 관리자 작성일 24-06-16 16:36 조회 848 댓글 0

본문

데이터베이스를 이용해야 할 때 JPA나 JPQL을 이용하면 SQL작성하거나 쿼리를 처리하는 소스 부분이 줄어들어 편리하지만 에노테이션을 이용해서 지정하기 때문에 고정된 형태라는 단점이 있다.


예를 들어 Board 경우 '검색'' 기능이 필요한데 '제목/내용/작성자'와 같은 단일 조건으로 검색되는 경우도 있지만,
'제목과 내용, 제목과 작성자'와 같이 복합적인 검색 조건이 생길 수 있다.

여러 종류의 속성들이 존재한다면 모든 경우의 수를 별도의 메소드로 작성하는 일이 더 어려울 수 있다.

이러한 문제의 근본 원인은 JPQL이 정적으로 고정되기 때문이다.

이 문제를 해결하기 위해 다양한 방법들이 존재하지만 국내에서 가장 많이 사용되는 방식은 Querydsl 입니다.


Querydsl은 JPA의 구현체인 Hibernate 프레임워크가 사용되는 HQL( Hibernate Query Language )을 동적으로 생성할 수 있는 프레임워크지만 JPA를 지원하고 있다. 

Querydsl을 이용하면 자바 코드를 이용하기 때문에 타입의 안정성을 유지한 상태에서 원하는 쿼리를 작성할 수 있다. 


Querydsl을 이용하기 위해서는 Q도메인이라는 존재가 필요하다. 

Q도메인은 Querydsl의 설정을 통해서 기존의 엔티티 클래스를 Querydsl에서 사용하기 위해서 별도의 코드로 생성하는 클래스이다.

댓글목록 0

등록된 댓글이 없습니다.


Copyright © dancePKT. All rights reserved.
PC 버전으로 보기