我尝试使用ScalikeJDBC访问PostgreSQL 9.4中的数组。DDL:
create table itab (
code varchar primary key,
group_list varchar[]
);Scala应用程序中定义了一个简单的case类和加载程序。
case class Item(code: String, groupSet: List[String])
trait loader {
def loadAllItems: List[Item] = {
insideReadOnly { implicit session =>
sql"select CODE, GROUP_LIST from ITAB"
.map(e => Item(
e.string("code"),
e.array("group_list").asInstanceOf[Buffer[String]]
)).list.apply()
}
}
}当我运行应用程序时,我会得到运行时异常。
java.lang.ClassCastException: org.postgresql.jdbc4.Jdbc4Array cannot be cast to scala.collection.mutable.Buffer我该怎么解决呢?谢谢。霍维曼。
发布于 2015-09-04 09:51:10
使用rs.array("group_list").getArray.asInstanceOf[Array[String]]
只是下面的java.sql.Array
发布于 2015-09-04 11:38:28
解决了。toList工作正常;)
e.array("group_list").getArray.asInstanceOf[Array[String]].toListhttps://stackoverflow.com/questions/32394220
复制相似问题