Desempenho Hibernate x JDBC

Pessoal, tenho uma Listagem por Criteria com 1000 registros que estava demorando muito pra carregar. Para fins de teste, preenchi esta lista usando conexão JDBC + prepareStatement.

Veja a comparação tirada dos testes que fiz na execução da rotina e carregar a página:

Conexão com Banco_Local_Teste:
Hibernate = 35 seg.
JDBC = 11 seg.

Conexão com Banco_Remoto_Cliente:
Hibernate = 44 seg.
JDBC = 2 min.

Agora, o que mais me deixou com os cabelos em pé…

Conexão com Banco_Local_Cliente (Instalei a aplicação no servidor do Cliente):
Hibernate = 10 min.
JDBC = 15 min.

A conexão Local_Cliente deveria ser bem mais rápida, mas foi a mais lenta… muito lenta…inaceitável !!! E pq no banco teste a conexão JDBC foi mais rápida e no Remoto foi a Hibernate ??

Alguém pode me esclarecer ?? Já que as listagens usando Critéria que retornan poucos registros, não apresentou diferenças que mereçam atenção.

Valew.