본문 바로가기

querydsl2

[QueryDSL] queryDSL 도입기 저번에 사용했던 JPA Specification에 이어서 이번에는 QueryDSL을 도입해 보려고 합니다. ▶ QueryDSL 자바 코드로 SQL과 같은 쿼리를 생성해 주는 프레임워크로 기본적으로 @Entity로 등록된 클래스들을 Q클래스로 생성해 사용합니다. JPA를 사용하다 쿼리가 복잡해질 때는 JPQL을 사용하거나 저번에 소개한 Specification을 사용할 수 있습니다. 하지만 다음과 같은 장점 때문에 QueryDSL을 많이 사용합니다. java 코드로 가독성 좋은 쿼리 조건 작성 컴파일 시점에 문법 오류 발견 가능 자동완성 편리 동적인 쿼리 작성 가능 (BoleanBuilder, BooleanExpression 활용) 결국 자바로 작성하기 때문에 작성 중에 IDE에서 컴파일 오류를 잡아줄 뿐.. 2024. 1. 28.
[JPA] 검색 메소드 수정하기 - JPA Specification 전 편에서 언급했던 것처럼 이번 글에서는 비효율적인 검색 로직을 개선해보려고 한다. [JPA] 검색 메소드 수정하기 - N+1 문제 장기 프로젝트 별 헤는 밤에 있는 문제들을 하나씩 해결해보는 시간! 구경가기 👇 별 헤는 밤: 밤하늘, 별자리, 여행정보와 날씨예보까지 - Google Play 앱 오늘부터 별잘알! 오늘밤 별자리 정보, 날 starsufers.tistory.com 기존 코드 더보기 매개변수 Filter areaCodeList - 지역변수 hashTagIdList - 해쉬태그 리스트 searchKey - 검색어 // 생략 // public List getObservationWithFilter(Filter filter, String searchKey) { List areaCodeList = f.. 2023. 12. 7.