【发布时间】:2020-10-23 19:56:57
【问题描述】:
我正在尝试构建Query Projection,但遇到以下错误消息:
Type mismatch: inferred type is KClass<GenderStatistics> but Class<TypeVariable(T)!>! was expected
导致问题的代码:
fun status(): String {
val query = accRepo.find("""
select g.abbr as abbr, g.description as description, count(p) as quantity
from Account a
inner join a.gender as g
group by g.abbr, g.description
""".trimIndent())
.project(GenderStatistics::class)
project 方法需要 Class<TypeVariable(T)!>! 类型,但我传递了错误的类型。如何在 Kotlin 中传递正确的类型?在 Java 中,它将是 GenderStatistics.class
GenderStatistics 定义为:
@RegisterForReflection
class GenderStatistics(val abbr: String, val description: String, val quantity: Int)
【问题讨论】:
-
如果你使用
GenderStatistics::class.java传递java类而不是kotlin KClass,它是否有效,或者即使这样做了还有进一步的问题?
标签: java hibernate kotlin quarkus-panache