[Query DSL] Spring Data JPA와 Query DSL 통합(+ Query DSL 페이징 최적화)
Back-End/QueryDSL2024. 8. 20. 00:07[Query DSL] Spring Data JPA와 Query DSL 통합(+ Query DSL 페이징 최적화)

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.Query DSL을 Spring Data JPA에서 사용하려면 사용자 정의 리포지토리를 만들어야 한다. MemberTeamDto@Datapublic class MemberTeamDto { private Long memberId; private String username; private int age; private Long teamId; private String teamName; @QueryProjection public MemberTeamDto(Long memberId, String username, int age, Long teamId, String teamName) ..

[Query DSL] 중급 문법
Back-End/QueryDSL2024. 8. 19. 00:47[Query DSL] 중급 문법

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.테스트 기본 코드@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 = "team_id") privat..

[Query DSL] 기본 문법
Back-End/QueryDSL2024. 8. 18. 00:25[Query DSL] 기본 문법

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.EntityManager 로 JPAQueryFactory 생성Querydsl은 JPQL 빌더JPQL: 문자(실행 시점 오류), Querydsl: 코드(컴파일 시점 오류)JPQL: 파라미터 바인딩 직접, Querydsl: 파라미터 바인딩 자동 처리JPAQueryFactory를 필드로 제공하면 동시성 문제는 JPAQueryFactory를 생성 할 때 제공하는 EntityManager(em)에 달려있다. 스프링 프레임워크는 여러 쓰레드에서 동시에 같은 EntityManager에 접근해도, 트랜잭션 마다 별도의 영속성 컨텍스트를 제공하기 때문에, 동시성 문제는 걱정하지 않아도 된다. 테스트 기본 코드@Entity@Get..

[Query DSL] Query DSL 초기 세팅
Back-End/QueryDSL2024. 8. 17. 00:49[Query DSL] Query DSL 초기 세팅

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.필자의 스프링 부트 버전은 3.3.2이다. 의존성 추가build.gradle의 dependencies에 아래의 내용을 추가해준다.implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta"이후 gradle을 새로고침 해준다. 환경 설정 검증테스트용 엔티티를 하나 추가해준다./src/main/java/study/querydsl/controller/entity/Hell..

image