반응형
queryDSL
JPA를 사용하다보면, Repository에서 생성하는 쿼리로는 한계가 있다.
따라서 자바로 SQL문을 작성하고, 간단하게 사용할 수 있다.
Examples
Basic query
List<Person> persons = queryFactory.selectFrom(person)
.where(
person.firstName.eq("John"),
person.lastName.eq("Doe"))
.fetch();
Order
List<Person> persons = queryFactory.selectFrom(person)
.orderBy(person.lastName.asc(),
person.firstName.desc())
.fetch();
Subqueries
List<Person> persons = queryFactory.selectFrom(person)
.where(person.children.size().eq(
JPAExpressions.select(parent.children.size().max())
.from(parent)))
.fetch();
Tuple projection
List<Tuple> tuples = queryFactory.select(
person.lastName, person.firstName, person.yearOfBirth)
.from(person)
.fetch();
Querydsl - Unified Queries for Java
Unified Queries for Java. Querydsl is compact, safe and easy to learn. <!-- Querydsl Unified Queries for Java Querydsl provides a unified querying layer for multiple backends in Java. Compared to the alternatives Querydsl is more compact, safer and easier
querydsl.com
반응형
'애플리케이션 개발 > JPA' 카테고리의 다른 글
[JPA] JPQL과 QueryDSL의 차이 (0) | 2023.03.09 |
---|---|
[JPA] FetchType.LAZY vs FetchType.EAGER (0) | 2023.01.26 |
[JPA] @Orderby Annotation (0) | 2023.01.18 |
[JPA] com.sun.jdi.InvocationException occurred invoking method. (0) | 2023.01.10 |