반응형
✔ QueryDSL
• 쿼리를 Java로 type-safe 하게 개발할 수 있게 지원하는 프레임워크
• 주로 JPA 쿼리(JPQL)에 사용한다.
➕ JPQL(HQL)
- 장점 : SQL QUERY 와 비슷해서 금방 익숙해진다.
- 단점 : type-safe 가 아니며, 동적쿼리 생성이 어렵다.
• 쿼리에 특화된 프로그래밍 언어 (쿼리 + 도메인 + 특화 + 언어)
• 단순, 간결하고 유창하다.
✔ SpringDataJPA + Querydsl
• SpringData 프로젝트의 약점은 조회이다. -> Querydsl 로 복잡한 조회 기능을 보완한다.
✔ QueryDSL 장점
: Querydsl 덕분에 동적 쿼리를 매우 깔끔하게 사용할 수 있다.
List<Item> result = query
.select(item)
.from(item)
.where(likeItemName(itemName), maxPrice(maxPrice))
.fetch();
- 쿼리 문장에 오타가 있어도 컴파일 시점에 오류를 막을 수 있다.
- 메서드 추출을 통해서 코드를 재사용할 수 있다.
(예를 들어서 위의 코드에서 만든 likeItemName(itemName)과 maxPrice(maxPrice) 메서드를 다른 쿼리에서도 함께 사용할 수 있다.)
인프런 ) 스프링DB 2편 - 데이터 접근 활용 기술 (김영한)
반응형
'Back > DB' 카테고리의 다른 글
[DB] PostgreSQL 과 MariaDB 의 특징, 차이점 (5) | 2023.07.18 |
---|---|
[DB] 스프링 트랜잭션 (0) | 2023.05.18 |
[DB] JPA (0) | 2023.05.12 |
[DB] MyBatis (0) | 2023.05.09 |
[DB] JdbcTemplate (0) | 2023.05.08 |