AbelBueno:
Você pode criar uma interface para representar a montagem de funções específicas do banco e implementar uma classe para cada banco.
No caso da paginação, por exemplo, você pode escrever a query normalmente sem paginação.
Depois utilizar essa query original como subquery e aplicar a paginação “por fora”.
Mas um comentário seu me deixou em dúvida.
Em que tipo de situação ele ficou lento?
Tem vários acessos ao mesmo tempo? Quantos?
Ou tem queries retornando um grande número de registros? Quantos?
As vezes alguns ajustes na configuração podem te dar uma performance aceitável sem precisar desse trabalho todo.
Sim, acredito que seja possível implementar com interface e subquery… Na verdade estava na esperança de encontrar um framework que fizesse isso, mas, acho que vou ter que construir mesmo… hehe
Quanto ao questionamento sobre o hibernate, não tenho esses números para informar, mas o panorama do sistema é o seguinte:
- Possui webservice que conversa com outros 2 aplicativos residentes em máquinas clientes.
- Possui multi-sockets que recebem conexões simultaneas de equipamentos que enviam dados
- Gera arquivos txt de lote que, para serem gerados, realizam muitas consultas…
- Possui ainda usuários incluindo e consultando…
O sistema utiliza struts2, hibernate3 e o banco padrão é o SQLServer…
Uma das páginas, que é a mais lenta, está demorando entre 8 e 10 segundos para renderizar…
Estamos querendo tirar o hibernate porque a tendência agora é aumentar a quantidade de usuários…
Valeu!!