Como percorrer um mesmo ResultSet mais de uma vez?

Olá,
Crio um ResultSet para a geração de um relatório. Dependendo de um parâmetro, eu devo gerar um gráfico com os dados deste mesmo ResultSet. Não gostaria de executar a query novamente ( ela é pesada ) . A princípio eu criei outra variável apontando para o mesmo ResultSet , mas ao varrer o primeiro (e fechar), estou fazendo o mesmo com a segunda variável, pois ela aponta para o mesmo objeto.
O driver é Oracle.

Ajuda por favor.

Obrigado,

Marcio

Armazene seus dados em uma lista, eh bem melhor do que varrer os dados duas vezes no ResultSet.

Olá.

Você pode usar uma lista como o amigo falou, mas também pode usar um RowSetDynaClass do apache commons beanutils.
Dê uma olhada, é bem útil.

Você passa o seu ResultSet para ele e ele cria uma lista de DynaBeans onde você acessa os dados como faz no ResultSet.

Existe uma especificação de um RowSet (RowSet, JdbcRowSet, etc…) em javax.sql, mas eu nunca usei e não sei se funciona da mesma forma que o RowSetDynaClass.

Até mais!

Usei o seguinte :

Statement st = cn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY );

o que me permite dar rs.first(); . O problema é que ele altera o formato de data quando ele recupera o campo ?!?!?!

Marcio