ActiveJDBC:Integer[] on PostgreSQL with multiple schema in one DB
ActiveJDBC: integer[] on PostgreSQL with multiple schemas in one DB
我正在尝试使用 ActiveJDBC
将 integer[]
从我的 PostgreSQL
数据库正确转换为 java equivalent int[]
。我正确地完成了获取,但返回的对象是 weblogic.jdbc.wrapper.Array_org_postgresql_jdbc_PgArray
。我还没有找到转换它的方法。
我尝试了两种不同的访问数据的方式:
首先,使用标准的record.findFirst("id = ?", id)
格式。因为我的数据库中有多个模式,所以我将 @Table
符号添加到我的模型中。
其次,我尝试了 record.findBySQL("select array from record where id = ?", id)
。我也试过 array::integer[]
.
每次我取回 PgArray 类型。我一直在寻找一种方法将此类型转换为其他类型以供使用,但没有任何效果。
有办法吗?我是否需要使用 ActiveJDBC
以外的其他数据检索方式?
JDBC 定义 java.sql.Array
来处理数组类型的列。 PgArray
只是 java.sql.Array
.
的 Postgres 实现
给定数组对象 a
你可以调用 (Integer[])a.getArray()
从 JDBC 数组对象中得到一个 Integer
数组(如果 JDBC 驱动程序有决定它将 return 你 Integer
对象而不是其他一些 Numbers
)。提取值并转换为 int[]
的辅助方法可能是个好主意。
不知道activejdbc是否支持在后台进行这种转换。
我正在尝试使用 ActiveJDBC
将 integer[]
从我的 PostgreSQL
数据库正确转换为 java equivalent int[]
。我正确地完成了获取,但返回的对象是 weblogic.jdbc.wrapper.Array_org_postgresql_jdbc_PgArray
。我还没有找到转换它的方法。
我尝试了两种不同的访问数据的方式:
首先,使用标准的record.findFirst("id = ?", id)
格式。因为我的数据库中有多个模式,所以我将 @Table
符号添加到我的模型中。
其次,我尝试了 record.findBySQL("select array from record where id = ?", id)
。我也试过 array::integer[]
.
每次我取回 PgArray 类型。我一直在寻找一种方法将此类型转换为其他类型以供使用,但没有任何效果。
有办法吗?我是否需要使用 ActiveJDBC
以外的其他数据检索方式?
JDBC 定义 java.sql.Array
来处理数组类型的列。 PgArray
只是 java.sql.Array
.
给定数组对象 a
你可以调用 (Integer[])a.getArray()
从 JDBC 数组对象中得到一个 Integer
数组(如果 JDBC 驱动程序有决定它将 return 你 Integer
对象而不是其他一些 Numbers
)。提取值并转换为 int[]
的辅助方法可能是个好主意。
不知道activejdbc是否支持在后台进行这种转换。