>>750
1万件は多いね・・・。一時的にHttpSessionに置くにしても多すぎる。検索->切断を繰り返すと容易にシステムダウンできる。
一番パフォーマンスが良いのは、カーソルをキャッシュしておいて表示する度フェッチする方法だけど、
これも危険、コネクションプールを使い尽くす可能性がある。。

私がやっていたのはシステム内にオブジェクト管理クラスを用意してそこで照会、オブジェクトの作成、キャッシュをさせるという方法。
最初の検索は時間がかかるけどそれ以降はキャッシュヒット率が上がってくると10倍くらいのパフォーマンスの向上があった。
キャッシュするオブジェクト数も管理できるのでメモリも食いつぶす必要がない。

特定の照会系に絞ってキャッシュ機構を構築するのが一番いいと思う。