[QueryDSL] PathBuilder 를 활용한 동적쿼리
유저 권한에 따라 모든 쿼리에 조회조건이 추가되야 하는 경우가 생겼다.예를 들면 '본인 소속 데이터만 조회해야 하는 권한자 일 경우' 매 쿼리마다 유저권한을 체크해서유저 부서와 쿼리 데이터를 비교하는 조건절을 추가해야 하는 상황이 생겼다. 제네릭하게 구현해보려다가PathBuilder 를 사용해서 모든 엔티티를 비교하는 메소드를 작성하였다. PathBuilder 란? QueryDSL 에서 제공하는 유연한 클래스이며,엔티티의 QClass를 직접 사용하는 대신, 동적으로 엔티티의 속성에 접근할 수 있는 클래스이다.동적으로 생성된 엔티티나 필드를 다룰때 유용하다. PathBuilder 의 특징이라면QClass 없이 엔티티에 접근가능하고제네릭 메소드와 함께 사용하여 런타임 오류를 방지하고특정 엔티티..
Java/JPA, QueryDSL
2024. 11. 26. 16:41