diff --git a/querydsl-tooling/querydsl-ksp-codegen/src/main/kotlin/com/querydsl/ksp/codegen/TypeExtractor.kt b/querydsl-tooling/querydsl-ksp-codegen/src/main/kotlin/com/querydsl/ksp/codegen/TypeExtractor.kt index 23e6722f9e..4b4b7ae501 100644 --- a/querydsl-tooling/querydsl-ksp-codegen/src/main/kotlin/com/querydsl/ksp/codegen/TypeExtractor.kt +++ b/querydsl-tooling/querydsl-ksp-codegen/src/main/kotlin/com/querydsl/ksp/codegen/TypeExtractor.kt @@ -65,8 +65,9 @@ class TypeExtractor( Comparable::class.java.canonicalName, java.lang.Comparable::class.qualifiedName ) - declaration.getAllSuperTypes().any { - comparableNames.contains(it.toClassName().canonicalName) + declaration.getAllSuperTypes().any { supertype -> + // Skip parameterized types (e.g. Comparable) — toClassName() throws for them + supertype.arguments.isEmpty() && comparableNames.contains(supertype.toClassName().canonicalName) } } else { false