• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

querydsl 설정 후 테스트 코드 실행 시 QHello 에러

22.11.09 11:39 작성 조회수 5.74k

0

처음부터 그대로 따라했고 소스코드에서 에러는 안나는데 run하면

java: Attempt to recreate a file for type stury.querydsl.entity.QHello

에러가 납니다. 구글링해보면 compileQuerysql 을 실행시켰을때 생성되는 폴더 삭제 후 실행하면 된다고 나와있는데 안되네요..

QHello 와 test코드 경로 모두 강사님 경로와 동일합니다.

 

package stury.querydsl.entity;

제 소스코드입니다.

package stury.querydsl;

import com.querydsl.jpa.impl.JPAQueryFactory;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.transaction.annotation.Transactional;
import stury.querydsl.entity.Hello;
import stury.querydsl.entity.QHello;

import javax.persistence.EntityManager;

import static org.assertj.core.api.Assertions.*;

@SpringBootTest
@Transactional
class QuerydslApplicationTests {
   @Autowired
   EntityManager em;

   @Test
   void contextLoads() {
      Hello hello = new Hello();
      em.persist(hello);

      JPAQueryFactory query = new JPAQueryFactory(em);
      QHello qHello = new QHello("h");

      Hello result = query
            .selectFrom(qHello)
            .fetchOne();

      assertThat(result).isEqualTo(hello);
      assertThat(result.getId()).isEqualTo(hello.getId());
   }
}

답변 1

답변을 작성해보세요.

0

OMG님의 프로필

OMG

2022.11.09

안녕하세요. 이혜정님, 공식 서포터즈 OMG입니다.
.

queryDSL이 버전과 설정이 자주바뀌기도하고 쉬우면서 쉽지 않더라구요 ^^;

개발 코드를 변경하실 필요는 없고, 설정만 아래를 참고해서 확인해보시겠어요?

아래 링크대로 했을 때 정상 실행 확인하였어서 특이점만 없다면 정상적으로 실행될거같습니다.

https://www.inflearn.com/chats/669477
.
감사합니다.