1

永続層からいくつかの実装の詳細を抽象化しようとしています。現状では、 を作成する関数と を作成する関数の 2 つがARRAYありArrayDescriptorます。現在、HSQL を使用してテストを書いていますが、 から に変換するときに が発生するという問題が発生し続けていClassCastExceptionます。これは、 createDescriptorが原因で発生します。Oracle の詳細を削除し、ARRAY と ArrayDescriptor の概念を一般化された方法で使用する方法はありますか? 私は現在ソースコードに近づいていないので、記憶から思い出します。JDBCConnectionOracleConnection

4

1 に答える 1

2

JDBC 4 / Java 6 以降を使用している場合は、JDBC 配列の作成方法を使用してみてください。

Connection.createArrayOf()

メモリから、Oracle 固有の API はより多くのオプションと柔軟性を提供しますが、Oracle 以外のものをデータベースとして使用する場合は、JDBC API を使用することが実際には唯一のオプションです。


編集:このドキュメントによると、Oracle JDBC ドライバーは createArrayOf() をサポートしていません。したがって、おそらく最善のinstanceof方法は、コードをチェックし、OracleConnection を検出した場合は Oracle 固有の API を使用し、それ以外の場合は Connection.createArrayOf() を使用することです。

于 2012-09-19T22:52:49.337 に答える