2010/1/2 MARCIO CASTRO <[email protected]>: > Caro Leonardo; > > O hibernate NÃO é baseado no JPA. Na realidade, e o contrário!
Jesus! Hibernate eh um *framework* com algumas caracteristicas ORM que implementa JPA atraves do modulo EntityManager e Annotations. O Entity Manager do hibernate implementa JPA, JQL e outras bobagens. JPA eh uma *especificacao* (leia-se interface) de API para mapeamento objeto relacional e persistencia de dados. Leia um pouco mais sobre Enterprise JavaBeans 3 para mais informacoes. > E você poderia me explicar o porquê da "porcaria"? A empresa para a qual > trabalho (já vou avisando que sou DBA, e não trabalho com Java) está para > adotar a JPA. Quais seriam as vantagens ou desvantagens do mesmo? Sou DBA e considerando isto, aplicacoes que acessam objetos (entities classes) ao inves de tabelas, jah seria uma grande porcaria ... Por que? Simples, para identificar a profundidade de um relacionamento, todos os objetos (tabelas) referenciados precisam ser inicializados e serializados. Para inicializar um EntityClass voce precisa percorrer o catalogo para obter metadados de uma tabela, e por ai vc vai entendendo toda a porcalhada para adquirir uma simples linha. Considerando apenas o lado do desenvolvedor, utilizar ORMs eh uma maravilha eh um sonho, eh produtivo e por ai vai .... A coisa piora quando voce usa JQL en modelos complexos (recursividade, hierarquia, &ca). A _minha_ regra geral eh: o Sou uma empresa que tem um produto especifico que evolui lentamente, entao nao use frameworks ORM. o Sou uma fabrica de software que tem varias demandas e uma equipe de desenvolvedores com prazos apertados, entao usa essa droga .... Parafraseando o Dutra: eu adoraria descobrir que estou completamente errado sobre ORM, mas a prova esta nos logs de atividade do banco. Abraco! -Leo -- Leonardo Cezar http://www.aslid.org.br http://postgreslogia.wordpress.com _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
