Querydsl 활용해서 동적 쿼리를 구현하던 도중에, 이런 오류가 발생했다.
Querydsl이 BaseEntity에 대한 Q 타입을 이미 생성했으며 다시 생성하려고 시도하고 있기 때문에 발생했다고 하는데...
Querydsl은 자동으로 엔티티에 대한 Q 타입을 생성하는데, 이미 생성된 경우 다시 생성하려고 하면 충돌이 발생한다고 한다.
해결 방법은 chatgpt와 블로그를 통해 아래와 같이 5가지로 추릴 수 있었다.
1. Querydsl의 Q 타입 생성 설정 변경: Querydsl이 BaseEntity에 대한 Q 타입을 생성하지 않도록 설정을 변경
2. BaseEntity에서 Querydsl 타입 생성 제외: BaseEntity 클래스에 @QuerySupertype 어노테이션을 추가
3. Querydsl 타입 직접 생성: BaseEntity에 대한 Q 타입을 직접 생성하고, 사용
4. Gradle 또는 Maven 설정 변경: Querydsl 관련된 타입 생성이 겹치지 않도록 조정
5. Gradle에서 build를 clean
6.build 폴더의 하위 폴더인 generated 삭제
2번, 4번, 5번을 시도했으나 실패.
6번 시도로 오류 해결. Mission Claer.
'공부(TIL) > Error' 카테고리의 다른 글
[C#] IIS Publish (0) | 2025.01.09 |
---|---|
no such file or directory, lstat '..\AppData\Roaming\npm' (0) | 2024.05.17 |
ORA-00942: table or view does not exist (0) | 2024.04.29 |
java.sql.SQLException: Cannot create JDBC driver of class '' for connect URL 'null' (0) | 2024.04.03 |
javax.servlet.ServletException: 파일을(를) 찾을 수 없습니다. (0) | 2024.04.02 |