【发布时间】:2017-08-16 22:13:05
【问题描述】:
我已将一些 Postgresql 类型作为扩展添加到 Exposed。它有两个现成的类型,名为enumeration 和enumerationByName。我对它们都进行了测试,但没有成功将 postgre 枚举类型映射到 Kotlin 枚举类。在读取和写入时都会引发错误
enum class TicketStatus(val status: String) {
Open("open"),
Close("close"),
InProgress("in_progress")
}
class Ticket(id: EntityID<UUID>) : Entity<UUID>(id) {
companion object : EntityClass<UUID, Ticket>(Tickets)
var geom by Tickets.geom
var description by Tickets.description
var status by Tickets.status
var createdAt by Tickets.createdAt
var updatedAt by Tickets.updatedAt
var owner by Tickets.owner
}
阅读时:
java.lang.IllegalStateException: open is not valid for enum TicketStatus
【问题讨论】:
-
可能是区分大小写?尝试将元素重命名为
open、close等,或者从数据库中读取一些大写的名称。 -
@hotkey 在问题之前就是这样!不工作!
-
您的“Tickets”对象在哪里?你如何声明身份?
标签: postgresql enums orm kotlin kotlin-exposed