JPQL2 QueryDsl를 사용해보자.(With Spring boot 3.x.x, JPA) 들어가기 이 글은 Spring boot(3.0 이상), JPA에 QueryDSL을 사용하면서 새로 적용해 봤던 내용들을 정리한 것이다. 목차는 아래와 같다.1. QueryDSL은 무엇이며 왜 사용하는가?2. Spring boot에서 QueryDSL을 사용하기 위한 설정(Java 17, Spring boot 3.x.x를 기준)3. Spring Data JPA와 같이 사용하는 법4. DTO 객체로 값을 받는 법 본론1. QueryDSL은 무엇이며 왜 사용하는가? JPA를 사용할 때, 편의성을 위해 Spring Data JPA를 종종 사용하였다. 하지만 복잡한 쿼리를 작성해야 할 때면 @Query 어노테이션을 통해 JPQL을 직접 작성하곤 하였다. 로직이 복잡할수록 쿼리 문자열은 길어지며 가독성은 떨어진다... 2023. 11. 29. JPQL 개념과 스프링 데이터 JPA 쿼리메서드 이용 JPA를 사용하여 프로젝트를 구현할 때 스프링 데이터 JPA를 이용하고 repository 인터페이스를 작성하여 CRUD기능을 사용하였을 것이다. 우리는 JPA를 사용하기 위해 Repository를 만들고 CRUD기능을 수행할 수 있다. 하지만 간단한 형식의 엔티티만을 가져올 뿐이지 특정 범위, 특정 경우, 특정 순서 등 복잡한 경우에 적용하기는 힘들다. 이러한 경우는 자세한 sql문을 이용해서 해결할 수 있다. ORM은 엔티티 객체를 대상으로 개발하므로 검색을 위한 sql문도 엔티티 객체를 대상으로 해야 하기에 JPQL을 사용한다. 스프링 데이터 JPA에서는 복잡한 쿼리를 쿼리 메서드를 이용하여 JPQL을 직접 짜는 것이다. 이 글에서는 JPQL에 대해서는 간단한 설명과 파라미터 바인딩에 대해서만 설명.. 2021. 6. 27. 이전 1 다음