> Prefiro um projeto com prazo curto sendo desenvolvido usando o ORM
> "xyz" do que sem nenhum ORM e strings de conexões espalhadas por todo
> o código.
>

Concordo, mas não precisa ser assim: depende do tamanho do projeto e
da qualidade dos recursos humanos. Programadores *razoáveis* em Java
conseguem entender a necessidade de fragmentar o código em classes
(POO, afinal) de forma a distribuir as funções e comportamentos em
classes distintas. Assim seria possível existir uma classe para
realizar a conexão ao banco mesmo sem usar um framework ORM pronto.

> Manter uma aplicação desenvolvida por programadores experientes usando
> o ORM Open Source "xyz" é bem mais simples. Imagine ficar dependente
> de um programador que criou e usou sua própria maneira mirabolante de
> fazer as conexões no banco? Mesmo que esteja tudo documentado, de
> início, apenas este saberá como as coisas funcionam.
>

Este assunto foi abordado na tese que defendi para minha
especialização em Java. Até já cheguei a perguntar algo relacionado na
lista [1] em relação aos frameworks ORM, mas não tive resposta
(entendi, porque é um assunto bastante off-topic). Não existe regra
para persistir objetos Java em SGBDR, mas as que eu mais vejo por aí
são: SQL estático, DAO [2] e Hibernate (sendo mais chato ainda). O uso
do Caché ou outras alternativas como DB4O considero promissoras, mas
não confiáveis - vá mandar os consultores gerarem relatórios complexos
com SQL depois de adotar esta tecnologia pra ti ver...

Em projetos que já tive oportunidade de trabalhar e/ou pude
visualizar, de alta complexidade, alta manutenção, e crescimento
indefinido (sistemas bancários de bolsa de valores e DOC, por exemplo)
a idéia de usar um JPA ou Hibernate nem passa pela cabeça dos
arquitetos e dos gerentes de projeto. O que eu mais pude observar são
frameworks de fabricação própria, muito bem documentados e funcionais,
que atendem a necessidade dos projetos sem causar overheads e sem
muita complexidade. Até frameworks escritos com o uso da API
Reflections [3] eu já vi funcionarem muito bem de forma elegante.

*Además*, para quem usou Hibernate desde as suas primeiras versões
pôde perceber que a manutenção do ORM  também não era tão fácil assim,
devido ao excesso de arquivos XML. Hoje com o advento das
_Annotations_ tudo ficou mais simples (!) mas ainda assim depende de
conhecer muito bem o framework - ou a especificação JPA se for usá-la
- para que tudo funcione de acordo.

Para encerrar: como um programador/arquiteto Java eu apostaria em
Hibernate ou alguma implementação da JPA apenas se a equipe de
desenvolvimento estivesse muito bem munida de profissionais
experientes nesta área. Ainda assim eu tentaria adotar uma solução
personalizada e customizada que eu pudesse ter total controle do que
ela faz. Nunca vi um projeto de grande escala baseado na JPA ou no
Hibernate.

[1] 
http://www.mail-archive.com/pgbr-geral@listas.postgresql.org.br/msg18619.html
[2] 
http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html
[3] http://java.sun.com/docs/books/tutorial/reflect/index.html

-- 
TIAGO J. ADAMI
http://www.adamiworks.com
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Reply via email to