[QueryDSL] OpenFeign QueryDSL 기본 설정 및 사용법
Back-End/QueryDSL2025. 7. 19. 20:50[QueryDSL] OpenFeign QueryDSL 기본 설정 및 사용법

공식 QueryDSL은 사실상 유지보수 중단상태인것 같다...마지막 릴리스가 5.1로 이후 업데이트가 없고 취약점 문제도 존재한다고 한다.OpenFeign의 QueryDSL은 25년 7월 기준 7.0까지 나온상태고 계속 유지보수가 이뤄지고 있는 것 같다.또한 기본적인 사용법과 API 정의는 거의 동일한것 같기 때문에 OpenFeign의 QueryDSL을 도입하기로 했다. 기본 설정build.gradle// QueryDSL 설정def queryDslVersion = "7.0" // 25년 7월 기준 가장 최신def querydslSrcDir = layout.buildDirectory.dir("generated/querydsl").get().asFile // build/generated/querydslta..

[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.5.3이다.(25.7 기준) 의존성 추가build.gradle의 dependencies에 아래의 내용을 추가해준다.sourceSets { main.java.srcDir querydslDir}tasks.withType(JavaCompile).configureEach { options.generatedSourceOutputDirectory.set(file(querydslDir))}clean { delete file(querydslDir)}dependencies {//Querydsl 추가 def querydslVersion = "5.0.0" implementation ..

image