2016-06-29 21 views
0

私は適切にjavaのequivalent int[]に私PostgreSQLデータベースからinteger[]を変換するActiveJDBCを使用しようとしています。フェッチは正常に実行されますが、返されるオブジェクトはweblogic.jdbc.wrapper.Array_org_postgresql_jdbc_PgArrayです。私はまだそれを変換する方法を見つける必要があります。ActiveJDBC:1 DBで複数のスキーマを持つ[] PostgreSQLの上の整数

まず、標準record.findFirst("id = ?", id)形式を使用して:

は、私がデータにアクセスするための2種類の方法を試してみました。データベースに複数のスキーマがあるため、モデルに@Tableという表記法を追加しました。

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

私はPgArrayタイプを取り戻すたびに。私は、このタイプを何か他のものに変換して使用する方法を探しましたが、何も機能していませんでした。

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

答えて

0

JDBCは、アレイ型指定された列を処理するためにjava.sql.Arrayを定義します。 PgArrayは、Postgresの実装がjava.sql.Arrayに過ぎません。

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

は知ってはいけません。

+0

私はのgetArray()メソッドを使用することができません。 ActiveJDBCは検索されたすべてのアイテムを自分のモデルに配置し、model.get( "column")を使用して取得します。それに関連するgetArray()メソッドはありません。 私は整数[]と同様にPgArrayが、両方のスローにClassCastExceptionsの両方にあることをキャストしようとしています。 –

+0

私はその解決策を別の投稿に載せました。それはうまくいった。ありがとう! –

+0

'get(" column ")'を呼び出して配列を取得すると、どのJava型が返されますか? – ipolevoy

関連する問題