tente ehcache . O JDBC não possui cache por si só, mas o ehcache é muito bom. se você quiser um cache seguro de cluster mais robusto, tente oracle coherence. Eu normalmente não coloco um cache no início e executo alguns testes de desempenho, somente se os testes indicarem a necessidade de um cache é quando eu coloco um.