ActiveJDBC:Integer[] on PostgreSQL with multiple schema in one DB

ActiveJDBC: integer[] on PostgreSQL with multiple schemas in one DB

我正在尝试使用 ActiveJDBCinteger[] 从我的 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是否支持在后台进行这种转换。