Backend Web/JPA · ORM
[JPA] queryDSL
sofiaaa
2023. 1. 13. 10:23
반응형
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
반응형