Kotlin公开的未解决参考:referencedOn

问题描述

我正在尝试使用Ktor框架开发REST API,并在完成了一些教程和官方文档后,我刚刚实现了示例代码。我也在使用Kotlin Exposed,我只是想制作一些数据库表并连接它们。 因此,我制作了两个类UsersRepoRolesRepo都扩展了IntIdTable。我只想在这两个表之间建立一对一的关系,所以我做了这样的事情:

object UsersRepo : IntIdTable("userId") {
    val displayName = varchar("display_name",256)
    val role = reference("role",RolesRepo)
}

然后,我只想为User实现Entity类,而IDE无法识别referencedOn关键字。

enter image description here

我不知道我在这里想念的是什么。 我正在使用Ktor和Kotlin 1.4.0和Kotlin暴露版本0.25.1

    implementation "org.jetbrains.exposed:exposed-core:$exposed_version"
    implementation "org.jetbrains.exposed:exposed-dao:$exposed_version"
    implementation "org.jetbrains.exposed:exposed-jdbc:$exposed_version"

解决方法

问题是您引用了该表而不是角色的实体。应该是var role by Role referencedOn UsersRepo.role