Em 13 de outubro de 2011 13:57, Guimarães Faria Corcete DUTRA, Leandro <l...@dutras.org> escreveu: > 2011/10/13 Shander Lyrio <shan...@nucleo45.com.br>: >> >> ORM não resolve todos os males do mundo, ele resolve a grande maioria >> deles, mas não todos. Para mim, insert, update e delete é 99% por conta >> do ORM porque é quase sempre a mesma coisa. > > Non sequitur. De qualquer maneira, ORM cria mais problemas que > resolve. O problema é menos grave com ORMs relativamente bons como o > SQL Alchemy, e mais com nojentos como o Hibernate, mas sempre existe. >
Na minha opinião um ORM só é útil em telas de cadastro extensas, onde fica mais fácil preencher as propriedades de um objeto e depois simplesmente executar um Save() e deixar o OPF se virar pra ver se vai usar INSERT ou UPDATE, ou ainda quais propriedades vai precisar alterar e quais pode omitir, etc. OK, o OPF provavelmente vai dar um "SELECT * FROM tabela WHERE chave = x" e pegar a tupla inteira, mas numa tela de cadastro isto é razoável -- se a chave não for obrigatoriamente um ID serial artificial, evidentemente. Ainda acho mais fácil fazer um "cadastro de cliente" desta maneira do que montar um SQL dinamicamente, por exemplo. No entanto é preciso ter cuidado e usar o OPF apenas nas telas de cadastro. Não dá pra usar o OPF numa tela que mostra uma LISTA de objetos buscados com "SELECT *", isto gera um tráfego imenso e desnecessário. Nestes casos sempre é melhor usar uma VIEW que retorna apenas o que vai aparecer na tela -- aliás esta é uma regra aqui na Rednaxel: somente popule listas com views e somente coloque nas views dados que efetivamente aparecem na tela. De resto, damos preferência para stored procedures que fazem coisas como "emite_nota", "baixa_estoque", etc. Com isso as regras de negócio ficam no BD e podem ser acessadas por aplicações standalone, console, web, mobile, etc de forma transparente. -- Atenciosamente, Alexsander da Rosa http://rednaxel.com _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral