본문 바로가기
Framework/Spring

[Spring] Spring Boot Querydsl 사용

by pcm9881 2022. 12. 27.

1. pom.xml

<dependency>
    <groupId>com.querydsl</groupId>
    <artifactId>querydsl-apt</artifactId>
    <version>4.1.4</version>
</dependency>

<dependency>
    <groupId>com.querydsl</groupId>
    <artifactId>querydsl-jpa</artifactId>
    <version>4.1.4</version>
</dependency>

 

2. JPAQuery 사용 예시

2-1. Select One

import org.springframework.stereotype.Service;
import lombok.RequiredArgsConstructor;
import com.querydsl.jpa.impl.JPAQuery;

@Service
@RequiredArgsConstructor
public class MemberService {
    private final EntityManager entityManager;

    public Member findById(Long id) {
        QMember qMember = QMember.member;
        JPAQuery<Member> query = new JPAQuery(entityManager);
        Member member = query
            .from(qMember)
            .where(qMember.id.eq(id))
            .fetchOne();
        return member;
    }
}

2-2. Select Multiple

import org.springframework.stereotype.Service;
import lombok.RequiredArgsConstructor;
import com.querydsl.jpa.impl.JPAQuery;

@Service
@RequiredArgsConstructor
public class MemberService {
    private final EntityManager entityManager;

    public List<Member> findAll() {
        QMember qMember = QMember.member;
        JPAQuery<Member> query = new JPAQuery(entityManager);
        List<Member> members = query
            .from(qMember)
            .fetch();
    
        return member;
    }
}
728x90

댓글