인프런 Spring 강의 정리
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/oc6jn/btsD4tJafWz/NbfYVWruToe5eQVgsqqzK1/img.png)
![](https://tistory1.daumcdn.net/tistory/6804990/skin/images/no-image.jpg)
📌 프로젝션과 결과 반환 ✔ 프로젝션 : select 대상 지정 ⚡ 프로젝션 대상이 하나 List result = queryFactory .select(member.username) .from(member) .fetch(); 프로젝션 대상이 하나면 타입을 명확하게 지정할 수 있음 프로젝션 대상이 둘 이상이면 튜플이나 DTO로 조회 ⚡ 프로젝션 대상이 둘 이상 ✔ 튜플 조회 🔶 com.querydsl.core.Tuple @Test public void tupleProjection(){ List result = queryFactory .select(member.username, member.age) .from(member) .fetch(); for (Tuple tuple : result) { String u..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/b9SoOR/btsD0LxAv35/euMRWTV5h8TyoO5EiBfWt1/img.png)
![](https://tistory1.daumcdn.net/tistory/6804990/skin/images/no-image.jpg)
📌 시작 - JPQL vs Querydsl 테스트 기본 코드 package study.querydsl; import com.querydsl.jpa.impl.JPAQueryFactory; import jakarta.persistence.EntityManager; import jakarta.persistence.PersistenceContext; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.transaction.annotation.Transactional; imp..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/dry6VS/btsDQTB6fKP/u1JVq5Ci03uNNgAliDGrJ1/img.png)
![](https://tistory1.daumcdn.net/tistory/6804990/skin/images/no-image.jpg)
📌 엔티티 Member 엔티티 package study.querydsl.entity; import jakarta.persistence.*; import lombok.*; @Entity @Getter @Setter @NoArgsConstructor(access = AccessLevel.PROTECTED) @ToString(of = {"id", "username", "age"}) public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; private String username; private int age; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "te..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/TjDmS/btsD4GnReF6/RKHcHTUkMF4PxiTZxd5Kp0/img.png)
![](https://tistory1.daumcdn.net/tistory/6804990/skin/images/no-image.jpg)
📌 프로젝트 생성 ⚡ 개발 환경 ✔ Java 17 ✔ IDE : IntelliJ 🔶 스프링 프로젝트 생성 ⚡ 프로젝트 선택 Project : Gradle-Groovy Project Spring Boot : 3.x.x Language : Java Packaging : Jar Java : 17 groupId : study artifactId : querydsl 사용 기능: Spring Web, jpa, h2, lombok ➡ Generate 📌 Querydsl 설정과 검증 🔶 build.gradle에 주석을 참고해서 querydsl 설정 추가 ⚡ Gradle 전체 설정 - 스프링 부트 3.x 버전 이상 링크 참조 plugins { id 'java' id 'org.springframework.boot' ver..