【发布时间】:2018-04-25 18:38:02
【问题描述】:
我有以下使用 Kotlin 的 SQL 查询暴露给具有大写表名的 Postgres 服务器:
object Table: IntIdTable("Table") {
val tC = text("Text")
val vC = text("Value")
}
Database.connect("jdbc:postgresql://...", driver = "org.postgresql.Driver")
transaction {
logger.addLogger(StdOutSqlLogger)
val query = Table.select {
Table.id eq 5
}
query.forEach {
println( it[Table.tC] )
}
}
但我回来了:
Exception in thread "main" org.postgresql.util.PSQLException: ERROR: relation "table" does not exist
通常我可以简单地引用表名"Table" 来使用大写的表名,但似乎无法在 Kotlin Exposed 中做到这一点;那么有没有办法通过防止它被小写来使用大写的表名?
【问题讨论】:
-
另一个很好的例子说明为什么使用带引号的标识符是一个坏主意。
标签: postgresql kotlin kotlin-exposed