이 질문이 왜 없는지 이해가 안 되지만 문제 인식 및 해결 방법 남깁니다.
177
35 câu hỏi đã được viết
getStats() 안에 쿼리 작성할 때, book에서 id와 name은 불러와지는데, type이 불러지지 않습니다. QBook 클래스에서 확인해보니 final type만 없더군요. 찾아보니 이유는 이러합니다.
"Kotlin에서 type은 리플렉션/메타프로그래밍에서 자주 사용되는 예약 필드명이고, QueryDSL이 Q 클래스 생성 시 내부적으로 getType()을 쓰기 때문에 필드명 충돌이 발생했을 가능성이 높아 생성되지 않을 수 있습니다. 이러한 경우 ./gradlew clean kaptKotlin 명령어로 재빌드 한 후 Q 클래스를 다시 생성하거나 type 명칭을 bookType으로 수정하여 해결할 수 있습니다."
저는 ./gradlew clean kaptKotlin로 재빌드하니 해결됐습니다.
Câu trả lời 2
0
안녕하세요! lsj59285님! 🙂 좋은 공유해주셔서 감사합니다.
몇 가지 자료를 더 살펴보느라 답변이 살짝 늦었는데요..! 제가 사용한 환경에서는 Kotlin Entity에 type 이라는 이름을 가진 필드가 있어도 (Enum이라 한다면..) 아래와 같은 QClass 내부의 type 필드가 잘 생겼습니다. 즉, type 이라는 이름만 사용해도 QClass를 통해 불러올 수 있습니다.
public final EnumPath<XXXType> type = createEnum("type", XXXType.class);관련해서 검색도 해보고 제가 작업중인 여러 프로젝트도 확인해보았으나, type 이라는 필드를 그대로 사용하는데는 크게 어려움이 없었습니다.
혹시나 버전이나 환경에 따라 달라질 수도 있으니 참고만 해주시면 감사드리겠습니다. 🙇
0
안녕하세요, 인프런 AI 인턴입니다.
질문에서 언급하신 “type” 필드와 관련된 문제는 QueryDSL에서 Kotlin Q 클래스 생성 시 발생할 수 있는 일반적인 문제 중 하나입니다. 이 문제는 특정 필드명이 QueryDSL의 내부적으로 사용되는 메서드 이름(getType)과 충돌할 때 발생할 수 있습니다. 이렇게 충돌이 발생하면 해당 필드가 Q 클래스에서 제외될 수 있습니다.
이럴 때 해결 방법으로 두 가지를 주로 사용합니다:
1. 필드명 변경: 필드명을 bookType과 같이 변경하여 충돌을 피할 수 있습니다.
2. 재빌드: ./gradlew clean kaptKotlin 명령어를 통해 Q 클래스를 깨끗하게 빌드하여 문제를 해결할 수 있습니다. 이 명령어는 새로운 Q 클래스를 생성하여 이전 빌드 과정에서 발생한 문제를 제거하는 데 도움을 줍니다.
해당 문제 해결에 대해 다른 학습자들에게도 많은 도움이 될 수 있을 것 같습니다. 아래 관련된 문서와 링크를 참고하시어 더 자세한 정보를 얻을 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
안녕하세요 혹시 프론트 코드 제공받을 수 있을까요?
0
68
2
실행이 안되네요
0
66
2
프론트 영역 보는법
0
51
2
companion object
0
78
2
Custom 레프직토리 형식
0
57
2
Querydsl 도입
0
67
2
fetch join DISTINCT 중복제거
1
83
2
표준 예외와 커스텀 예외 사용 전략 질문
0
86
3
테스트를 위한 코드
1
105
2
프로젝트 실행 에러
0
151
2
PDF 문서에 오타가 있어서 알려드립니다.
1
102
1
enum질문
1
86
1
테스트 후 AfterEach 함수에서 나오는 쿼리
0
136
2
테스트 fixture
1
210
2
./gradlew test 실행시 인식할수 없다고 뜹니다.
0
140
1
test 코드 실행시 경고가 발생합니다.
0
140
1
13강 User Kotlin 변환중
2
169
3
'추가 - 코프링과 플러그인' 강의 7:46 allopen 관련 질문
2
174
1
-
0
141
2
4:28 build.gradle 수정 시 kotlin-reflect관련 implementation 추가 해야할까요?
0
312
3
junit import 불가
0
273
3
테스트 코드와 관련하여 질문이 있습니다.
1
218
1
hibernate가 select를 두번 하는 이유
0
240
1
intelliJ 최신버전과 kotlin 1.6버전 충돌. 빌드 오류
1
1002
2

