我正在尝试使用以下代码在postgres text [](文本数组)列中插入List [String]:
def insertList(listName: String, subLists: List[String]): Long = {
DB.withConnection{implicit c =>
SQL(
"""
INSERT INTO mailinglists(name, sublists) VALUES({listName}, {subLists})
""")
.on('listName -> listName, 'subLists -> subLists.toArray)
.executeInsert(scalar[Long] single)
}
}
这引发了运行时异常:
org.postgresql.util.PSQLException: Unable to find server array type for provided name VARCHAR
当我搜索此异常时,大多数解决方案都会告诉海报将他们的类型转换为“VARCHAR”小写example
除了使用anorm之外,执行此操作的代码是隐藏的,例如:
ConnectionPool.borrow().createArrayOf("VARCHAR", array));
此外,我在Anorm's ParameterMetaData code
中找到了此信息implicit object StringParameterMetaData extends ParameterMetaData[String] {
val sqlType = "VARCHAR"
val jdbcType = Types.VARCHAR
}
不确定是不是原因。任何帮助表示赞赏。