• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

querydsl Mssql 연동

22.11.09 14:44 작성 조회수 460

0

현업에서 사용하기위해

mssql이랑 querydsl을 같이 설정하려고 하는데

mssql querydsl 따로 프로젝트 만들어서 세팅하면 정상동작하는데요 합쳤을때 compileQuerydsl을 실행하면 에러가 나는데 왜 그런지 모르겠습니다.

Unable to load class 'com.mysema.codegen.model.Type'.

오류메시지입니다.

plugins {
   id 'org.springframework.boot' version '2.7.5'
   id 'io.spring.dependency-management' version '1.0.15.RELEASE'
   //querydsl 추가
   id 'com.ewerk.gradle.plugins.querydsl' version '1.0.10'
   id 'java'
}

group = 'stury'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

configurations {
   compileOnly {
      extendsFrom annotationProcessor
   }
   querydsl.extendsFrom compileClasspath
}

repositories {
   mavenCentral()
}

dependencies {
   implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
   implementation 'org.springframework.boot:spring-boot-starter-web'
   implementation 'com.h2database:h2:2.1.214'
   compileOnly 'org.projectlombok:lombok'
   annotationProcessor 'org.projectlombok:lombok'
   testImplementation 'org.springframework.boot:spring-boot-starter-test'
   //배포용
   implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
   runtimeOnly 'com.mysql:mysql-connector-j'
   implementation group: 'com.microsoft.sqlserver', name: 'mssql-jdbc', version: '11.2.1.jre8'
   implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.8.1'
   //Querydsl 추가
   implementation 'com.querydsl:querydsl-jpa'
   implementation 'com.querydsl:querydsl-apt'
// annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jpa"
   annotationProcessor "jakarta.annotation:jakarta.annotation-api"
   annotationProcessor "jakarta.persistence:jakarta.persistence-api"

}

tasks.named('test') {
   useJUnitPlatform()
}

//querydsl 추가 시작
def querydslDir = "$buildDir/generated/querydsl"

querydsl {
   jpa = true
   querydslSourcesDir = querydslDir
}
sourceSets {
   main.java.srcDir querydslDir
}
compileQuerydsl{
   options.annotationProcessorPath = configurations.querydsl
}

//Querydsl 추가, 자동 생성된 Q클래스 gradle clean으로 제거
clean {
   delete file('src/main/generated')
}
//querydsl 추가 끝

답변 1

답변을 작성해보세요.

0

안녕하세요. 이혜정님

Querydsl 설정이 버전에 따라서 조금씩 다릅니다.

최신 버전이라면 다음 설정을 참고해보세요.

https://www.inflearn.com/questions/590165

감사합니다.