问题描述
我正在尝试使用Ktor
框架开发REST API,并在完成了一些教程和官方文档后,我刚刚实现了示例代码。我也在使用Kotlin Exposed,我只是想制作一些数据库表并连接它们。
因此,我制作了两个类UsersRepo
和RolesRepo
都扩展了IntIdTable
。我只想在这两个表之间建立一对一的关系,所以我做了这样的事情:
object UsersRepo : IntIdTable("userId") {
val displayName = varchar("display_name",256)
val role = reference("role",RolesRepo)
}
然后,我只想为User实现Entity类,而IDE无法识别referencedOn
关键字。
我不知道我在这里想念的是什么。
我正在使用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