Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[REFACTOR] QueryDSL 버전 업그레이드 #1001

Open
zeus6768 opened this issue Dec 29, 2024 · 1 comment
Open

[REFACTOR] QueryDSL 버전 업그레이드 #1001

zeus6768 opened this issue Dec 29, 2024 · 1 comment
Assignees
Labels
BE 백엔드 refactor 요구사항이 바뀌지 않은 변경사항

Comments

@zeus6768
Copy link
Contributor

zeus6768 commented Dec 29, 2024

📌 어떤 기능을 리팩터링 하나요?

QueryDSL의 지원은 2021년 07월 22일 이후 5.0 버전에서 중지되었어요. QueryDSL 홈페이지

그런데 openfeign을 만든 velo 아저씨가 2023년 11월에 포크를 따서 오픈소스로 관리하고 있어요.

참고로 openfeign은 HTTP 클라이언트 라이브러리에요.

우테코 레벨2때 RestTemplate, RestClient와 함께 언급되었던 FeignClient를 기억하나요?!

바로 그것입니다.

포크된 QueryDSL은 기존의 SQL Injection 취약점 등을 해결해가며 현재 6.10.1 버전까지 유지보수되었어요.

https://github.com/OpenFeign/querydsl

우리도 보안을 위해 버전을 올리는 건 어떨까요?!

AS-IS

implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
annotationProcessor 'com.querydsl:querydsl-apt:5.0.0:jakarta'
annotationProcessor 'jakarta.persistence:jakarta.persistence-api:3.1.0'
annotationProcessor 'jakarta.annotation:jakarta.annotation-api:2.1.1'

TO-BE

implementation 'io.github.openfeign.querydsl:querydsl-jpa-spring:6.10.1'
annotationProcessor 'io.github.openfeign.querydsl:querydsl-apt:6.10.1:jpa'

⏳ 예상 소요 시간 (예상 해결 날짜)

30초

@zeus6768 zeus6768 added refactor 요구사항이 바뀌지 않은 변경사항 BE 백엔드 labels Dec 29, 2024
@zeus6768 zeus6768 self-assigned this Dec 29, 2024
@zeus6768
Copy link
Contributor Author

build.gradle에서 의존성 변경 이후 QClass import가 제대로 동작하지 않을 수 있어요.

이럴 땐 아래의 절차를 따르면 돼요.

  1. 인텔리제이 종료
  2. 터미널에서 프로젝트 경로로 이동
  3. .idea 디렉토리 삭제
  4. backend 경로로 이동
  5. ./gradlew clean
  6. 인텔리제이 실행
  7. ⌘; 입력으로 Project Structure 열기 - SDK, Language Level 모두 JDK 17로 설정
  8. ⌘, 입력으로 Settings 열기
    • Build Tools - Gradle - Gradle (Default)IntellJ IDEA로 변경
    • Build, Execution, Deployment - Compiler - Annotaion Processors - Enable 체크
  9. build.gradle 우클릭 - Link Gradle Project
  10. CodeZapApplicationTests 또는 CodeZapApplication 실행으로 잘 되는지 확인!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BE 백엔드 refactor 요구사항이 바뀌지 않은 변경사항
Projects
Status: Todo
Development

No branches or pull requests

1 participant