Boa prática?

2 respostas
C

Olá pessoal,

Me tirem uma dúvida quanto a boa prática e desempenho. Sei que quanto menos codigo Sql em códigos melhor, para ajudar existem frameworks de persistencias como hibernate e outros, no exemplo do hibernate … se for usar alguns relacionamentos já complica um pouco com Criterias.
Vem minha pergunta:

Se eu utilizar um padrao MVC com um pacote meupacote.dao e uma MinhaClasseDao.java na qual eu implementaria com os PreparedStatement só que em vez de usar SELECTS, INSERTS, UPDATE … eu utilizar STORE PROCEDURES ? Fora as Procedures executadas no codigo… todo o resto de meu SQL ficaria no banco. Isso influência no desempenho, ou afeta em algo ? Isso é má prática ?

Obrigado!

2 Respostas

fabim

Se um dia vc precisar trocar de banco (ex: de Postgre pra Oracle), vai precisar reesvcrever tudo.
Sem falar que é um saco fica abrindo SP pra debugar.

Se a possiblidade de troca nao existe, entao nao sei…

kicolobo

O tempo que você vai gastar tendo de alterar stored procedures no futuro não compensa.
Imagine que um novo atributo seja incluido na sua classe. Terá que alterar a stored procedure junto?
Se terá que alterar a stored procedure, não seria mais negócio portanto incluir o código de persistencia NO DAO em vez de simplesmente incluir chamadas a stored procedures no mesmo?

Isto sem mencionar que sua portabilidade vai pro saco, além de que o ganho de performance (o que muitos usam como argumento para usar esta abordagem) é mínimo (se existente).

Criado 26 de novembro de 2008
Ultima resposta 26 de nov. de 2008
Respostas 2
Participantes 3