Também acho que a utilização de Stored Procedures pode aumentas “um pouco mais” a dependência do banco de dados.
Mas pensando num mundo corporativo, e isso eu dificilmente vejo na maioria dos POST, qual a probabilidade de uma instituição financeira, mudar o banco de dados?
Qual a probabilidade de uma empresa de varejo que use DataWare House, troca de um Oracle para um DB2, ou vice-versa?
Bem, pela minha experienca, é nula! Nunca vi ou ouvi algo do genero acontecer.
Pensando como um arquiteto de sistemas, a escolha entre usar ou não stored procedures está mais voltada para cada sistema, e não como uma verdade absoluta!
Eu particularmente continuo fã de stored procedures, e em nenhum teste que eu tenha feito a performance de procedures foi inferior a 15%, nos piores casos, ja tive ganhos de 70% em relação ao Hibernate.
Trabalhei uma vez com pacote empresarial totalmente customizado utilizando procedures, a diferenca é que para tornar o pacote multibanco, a empresa resolveu migrar as procedures, ou seja, existia um pacote de procedures para Oracle e DB2.
Nas soluções que eu projeto, se a performance de banco (geralmente ocorre em soluções corporativas) for crucial eu utilizao procedures sem a menor dor de consciencia.
Agora, se é uma solução departamental, claro que optar por JPA ou Hibernate ou Spring é a solução mais confortavel, ja que a performance no tratamento de dados não é ponto critico.
Agora, vai no diretor de um Citibank, e diz pra ele que a sua solução de arquitetura vai ter que processar 1M de registros a menos por segundo, pq vc não quer usar procedures e prefere usar um framework de persistencia! KKKKKKKKKKKk
[]´s
Mike Moreira