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

Responder a