SQL ResultSetは巨大なインタフェースであり、多くのメソッドがあります。しかし、私はあなたが実際にあなたのレポートでそれらのいくつかを使用していると思います。だから、おそらくアダプタクラスを作成することができます。ここでは、未使用のメソッドはすべてUnsupportedOperationExceptionをスローし、他のメソッドはCassandra ResultSetに委譲します。このようなもの:
public CassandraResultSetAdapter implements java.sql.ResultSet {
private final Iterator<Row> delegate;
private Row currentRow;
public CassandraResultSetAdapter(ResultSet cassandraResultSet) {
this.delegate = cassandraResultSet.iterator();
}
@Override
public boolean next() {
if (delegate.hasNext()) {
return false;
}
else {
this.currentRow = delegate.next();
return true;
}
}
@Override
public String getString(String columnName) {
return currentRow.getString(columnName);
}
@Override
public String getString(String columnIndex) { // starts at 1
return currentRow.getString(columnIndex - 1); // starts at 0
}
...
}
なぜそれが必要ですか?私は誰もがそれを好むと驚いています。 –
私はMySQL Resulsetを使用して生成されたレポートを持っています。私は現在、Cassandraを使って同じレポートを生成しようとしています。だから、私は上記の変更をしようとしていた既存のコードに最小限の変更で。 – SnehaT