Spring Data JPA가 지원하는 querydsl
Spring Data JPA가 지원하는 querydsl 정리
Spring Data JPA가 지원하는 querydsl 정리
SQL function은 Dialect에 등록된 function만 호출할 수 있다.
querydsl Spring Data Paging 활용 정리
Spring Data JPA 사용하기 Repository interface를 생성하고 JpaRepository<Entity, ID>를 상속받는다. Spring data JPA는 이전의 포스트에서 손수 구현한 기능들을 기본적으로 제공한다. 순수...
querydsl 순수 JPA와 querydsl
QuerydslConfig.java ~~~ @Configuration public class QuerydslConfig {
동적 쿼리를 해결하는 방식은 두가지가 있다. BooleanBuilder Where 다중 파라미터 사용
Bulk 연산이란 쿼리 한번으로 대량의 데이터를 처리하는 방법
Projection select절에 어떤 데이터를 가져올지 대상을 지정하는 것. 대상이 하나인 경우 해당 타입으로 지정할 수 있다. 대상이 여러개인 경우 Tuple이나 DTO로 받아야 한다.
상수 사용 Expressions.constant() 사용
서브쿼리 com.querydsl.jpa.JPAExpressions 사용
Case 조건에 따른 값을 지정해주는 문법 select, where, order by 절에서 사용 가능
기본 조인 Join의 기본 문법은 join(조인 대상, 조인에 사용할 Q타입의 별칭(alias)) 이다. List<Member> teamA = queryFactory .selectFrom(member) .join(member...
Spring Data JPA는 Querydsl에 몇가지 간편한 기능을 제공한다. 이 기능들은 코드 몇줄을 통하여 편하게 사용할 수 있지만 하나의 테이블을 이용한 쿼리에서 사용해야 정상동작을 기대할 수 있다는 제약이 있다. 여러 테이블을 조인해야 하는 경우 기능이 정상 동작하지 않을...
집합 함수 JPQL이 지원하는 집합 함수를 제공 count() : 조회 데이터의 수 sum() : 조회 데이터 컬럼의 합 avg() : 조회 데이터 컬럼의 평균 max() : 조회 데이터 컬럼의 최대값 min() : 조회 데이터 컬럼의 최소값
정렬 orderBy() : order by 쿼리를 발생시킨다. asc() : 오른차순 desc() : 내림차순 nullsLast() : 해당 필드 값이 null 이라면 조건의 마지막으로 가져온다. ...
페이징 offset() 앞에 스킵할 row의 수 0부터 시작한다. ex) 1이라면 1개를 스킵한 것. limit() 최대로 가져올 row의 수 전체 조회수를 구하고 싶은 경우 ...
결과 조회 fetch() : 리스트 조회, 결과값 없는 경우 빈 리스트를 리턴. fetchOne() : 단 건 조회 결과 없는 경우 : null 결과가 2개 이상인 경우 : NonUniqueResultException fet...
기본 검색 쿼리 검색 조건은 .and()와 .or()를 메서드 체인으로 연결할 수 있다. select(entity).from(entity)은 selectFrom()으로 합칠 수 있다. JPQL이 제공하는 모든 검색 조건을 제공한다. - querydsl 자체가 JPQL의...
테스트할 Entity 앞으로 querydsl 게스글에 나올 Entity는 아래와 같다.
Back-end 개발을 할 경우 Spring boot, JPA, Spring data jpa를 대체로 많이 사용한다. 하지만 이 기술 조합으로 해결하지 못하는 한계가 발생하기 마련인데, 이는 복잡한 쿼리와 동적 쿼리 문제다. 실무에서는 특히 복잡한 쿼리를 많이 사용하고, 검색...