У меня есть запрос postgres, который использует функцию array_agg()
для возврата значений PgArray. Запустив этот запрос с простым java.sql.PreparedStatement
, я получаю java.sql.ResultSet
.
После val arrayCol = resultSet.getArray("array_agg_column_name")
У меня есть java.sql.Array
массив печатиCol выглядит как
{1, 2, 3}
Вызов arrayCol.getArray
дает мне Object
Я не уверен, как работать с типами Object или java.sql.Array в моем коде Scala. Выполнение простого asInstanceOf[List[Int]]
завершается неудачно с
java.lang.ClassCastException: [Ljava.lang.Integer; cannot be cast to scala.collection.immutable.List
В то время как использование asInstanceOf[Array[Int]]
приводит к
java.lang.ClassCastException: [Ljava.lang.Integer; cannot be cast to [I
Если я import scala.collection.JavaConverters._
А затем попробуйте использовать asScala
Я получаю
value asScala is not a member of Object
или "... of java.sql.Array", в зависимости от того, вызову ли я getArray
.
Как правильно выполнить синтаксический анализ поляв результате функции psql array_agg
?