Error: Springboot 3.0이상에서 QueryDSL 설정

2023. 9. 23. 19:09·🪲 bugs

발생 상황

  • Springboot 3.0 에서 QueryDSL을 위해 build.gradle과 queryDsl configuration을 다음과 같이 설정했을 때 `JPAQueryFactory` 생성자를 찾을 수 없는 에러가 발생합니다.
dependencies {
		implementation "com.querydsl:querydsl-jpa:5.0.0"
    annotationProcessor(
            "javax.persistence:javax.persistence-api",
            "javax.annotation:javax.annotation-api",
            "com.querydsl:querydsl-apt:5.0.0:jpa"
    )
}
import com.querydsl.jpa.impl.JPAQueryFactory;
import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class QueryDslConfig {

    @PersistenceContext
    private EntityManager entityManager;

    @Bean
    public JPAQueryFactory jpaQueryFactory() {
        return new JPAQueryFactory(entityManager);
    }
}
  • 오류 메시지
Cannot resolve constructor 'JPAQueryFactory(EntityManager)'

 

발생 원인

  • Springboot 3.0에서는 `javax`를 사용하지 않습니다. `jakarta EE`로 전환되었기 때문입니다.
  • 다음의 링크를 읽고 학습하였습니다.
    • 스프링 부트 3.0 으로 전환
 

스프링 부트 3.0 으로 전환 - Dooray! POST

2022년 11월에 기존의 Spring framework 5 와 Spring Boot 2.X 버전을 대체하는 Spring framework 6와 Spring Boot 3 가 릴리즈되었습니다. 어떤 변화가 있고, 어떻게 설정해야 할지 알아봅니다

post.dooray.io

대처

  • 따라서 다음과 같이 작성하면 `jakara` 에서 class를 주입받을 수 있게 됩니다.
dependencies {
	// querydsl
    implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
    annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta"
    annotationProcessor "jakarta.annotation:jakarta.annotation-api"
    annotationProcessor "jakarta.persistence:jakarta.persistence-api"
}

Refs.

  • Java EE에서 Jakarta EE로의 전환
  • 스프링 부트 3.0 으로 전환
  • https://github.com/querydsl/querydsl/issues/3493
저작자표시 비영리 동일조건 (새창열림)
'🪲 bugs' 카테고리의 다른 글
  • Error: Sqlite3 와 Hibernate 연동 문제
  • Error: Springboot ArgumentResolver를 거치지 않는 예외
  • `@Cachable` 사용시 SpelEvaluationException 발생
  • Spring data JPA: Hibernate가 Sequence를 못찾아요
Iirin
Iirin
별건 없고요, 조금씩 했던 것을 쌓아가고 있습니다. 이 블로그는 호기심과 재미로 추동됩니다 🚀
  • Iirin
    ✨ iirin.context
    Iirin
  • 전체
    오늘
    어제
    • ALL
      • 👩🏻‍💻 Computer Science
      • 💻 Operating System
      • ⚡️ Network
      • ☁️ Infra
      • 🥞 Database
      • 👽 Languages
        • ☕️ Java
        • ✔ Kotlin
      • ⚙️ Frameworks, Libraries
        • 🌱 Spring
      • 🧩 Algorithm
      • 🪲 bugs
      • 💪 Practice
      • 💬 Smalltalk
      • 🔧 Tools
  • 블로그 메뉴

    • 링크

      • github
      • github page
    • 공지사항

    • 인기 글

    • 태그

      redis
      OS
      cache
      cs
      log
      secondhand
      주간회고
      알고리즘
      SpringBoot
      회고
      mysql
      주소바인딩
      coroutine
      test_container
      Error
      진법연산
      논리적주소
      spring
      진법
      Algorithm
      JPA
      원격SSH
      운영체제
      참조투명성
      Kotlin
      Java
      test
      top-interview-150
      BUG
      leetcode
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.0
    Iirin
    Error: Springboot 3.0이상에서 QueryDSL 설정
    상단으로

    티스토리툴바