일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- Bean Validation
- 면접
- 자료구조
- 백준
- 검증
- 스파르타코딩
- 자바
- 알고리즘
- 메서드
- 코딩테스트
- 정처기
- 프로그래머스
- programmers
- Java
- 자바의 정석
- 반복문
- 웹개발
- JPA
- ModelAttribute
- 브루트 포스
- 객체지향프로그래밍
- db
- 운영체제
- 코테
- 스프링
- 쿼리dsl
- 네트워크
- 스프링MVC
- 스프링 MVC
- OS
- Today
- Total
목록쿼리dsl (2)
개발일지

QueryDsl을 이용해서 조회 기능과 페이징처리 기능을 구현해보려고 한다. (설정관련해서는 아래 게시물에서 확인하면 된다.) 2023.08.18 - [분류 전체보기] - Querydsl 설정하기 1. 게시물 전체 조회 : 유저들이 작성한 게시물을 전체 조회 먼저 QueryDsl을 사용하기 위해서는 사용자 정의 Repository를 설정해주어야 한다. public interface BoardRepositoryCustom { Page findAllBoards(Pageable pageable); } Pageable : 페이징 처리를 위한 설정 정보를 담은 인터페이스로, 페이지 번호/페이지 크기/정렬 조건 등을 지정할 수 있다. Page : 특정 페이지의 데이터와 관련된 정보를 담고 있는 인터페이스로, 페이지..

1. QueryDsl이란 무엇인가? 하이버네이트 쿼리 언어의 쿼리를 타입에 안전하게 생성 및 관리해주는 프레임 워크이다. Spring Boot와 Spring Data JPA는 복잡한 쿼리, 동적 쿼리를 구현하는 데 있어 한계가 있다. 이러한 문제점을 해결 할 수 있는 것이 QueryDsl이다. Entity 클래스와 매핑되는 QClass라는 객체를 사용해서 쿼리를 실행한다. QueryDsl은 컴파일 단계에서 엔티티를 기반으로 QClass를 생성하는데, JPAAnnotationProcessor가 컴파일 시점에 작동해서 @Entity 등등의 어노테이션을 찾아 해당 파일들을 분석해서 QClass를 만든다. 2. QueryDsl의 장점 (1) 문자가 아닌 코드로 쿼리를 작성할 수 있어 컴파일 시점에 문법 오류를 ..