0

をデータベースからJavaActiveJDBCに適切に変換するために使用しようとしています。フェッチは適切に行われますが、返されるオブジェクトは. 私はまだそれを変換する方法を見つけていません。integer[]PostgreSQLequivalent int[]weblogic.jdbc.wrapper.Array_org_postgresql_jdbc_PgArray

データにアクセスする2つの異なる方法を試しました:

まず、標準record.findFirst("id = ?", id)フォーマットを使用します。データベースに複数のスキーマがあるため@Table、モデルに表記を追加しました。

第二に、私はrecord.findBySQL("select array from record where id = ?", id). 私も試しarray::integer[]ました。

PgArray タイプを取得するたびに。この型を別のものに変換して使用する方法を探しましたが、何も機能しませんでした。

これを行う方法はありますか?以外のデータ取得方法を使用する必要がありActiveJDBCますか?

4

1 に答える 1

0

JDBCjava.sql.Arrayでは、配列型の列を処理するように定義されています。PgArrayの Postgres 実装ですjava.sql.Array

配列オブジェクトを指定すると、JDBC 配列オブジェクトから配列を取得するためにa呼び出すことができます (JDBC ドライバーが他のオブジェクトではなくオブジェクトを返すと決定した場合)。値を抽出して変換するヘルパー メソッドは、おそらく良い考えです。(Integer[])a.getArray()IntegerIntegerNumbersint[]

activejdbc が舞台裏でこの変換を行うことをサポートしているかどうかはわかりません。

于 2016-06-29T12:32:30.650 に答える