JPA - Toplink ou Hibernate?

Oi pessoal!!!

Qual voces acham melhor para utilizar o JPA: Toplink ou Hibernate???

Qual a diferença entre eles???

Obrigada!!!

Teoricamente, ambos fazem exatamente a mesma coisa (mas claro, com implementações diferentes). O mais interessante é você testar os dois e ver com qual se sai melhor.

Eu já testei os dois e não vi diferenças que tornem um melhor que outro. Por se tratar de uma especificação, o JPA tende a ter o mesmo código e forma de usar, parecido com o JDBC, vc só escolhe o driver do fabricante… correto? O Toplink foi o escolhido para o meu projeto por se tratar de um banco Oracle, o que tb não quer dizer nada… mas, sendo do mesmo fabricante, as chances de performance podem ser melhores (podem, do verbo até agora não vi nada que não me fizesse mudar para o Hibernate)

O caso é que o Hibernate já tem uma certa “fama consolidada”.

Já o Toplink, se não me engano, foi uma doação da Oracle e é usado como implementação default de JPA no glassfish.

Gostaria também de ouvir experiências de quem já usou (ou teve que usar…) o Toplink.

Há um tutorial no Bolg do Urubatam, observem o comentário sobre “geração do DDL” é uma interessante observação que pode ser um diferencial.
http://blog.urubatan.com.br/2006/11/23/suporte-do-spring-20-a-jpa-ficou-muito-bom-ainda-mais-se-usar-um-pouquinho-do-spring-annotation-junto-d/#more-517

Estar usando Netbeans ou Eclipse tambem influencia na escolha, né?
Por o netbeans ja vem com o Toplink e cria boa parte do codigo sozinho.
E no site do Hibernate tem um tool para ajudar mas utilizando Eclipse.

CERTO???

[quote=ynaue]Estar usando Netbeans ou Eclipse tambem influencia na escolha, né?
Por o netbeans ja vem com o Toplink e cria boa parte do codigo sozinho.
E no site do Hibernate tem um tool para ajudar mas utilizando Eclipse.

CERTO???[/quote]

Errado!!!

A ferramenta de desenvolvimento nao influencia em nada.

Uso do toplink ou hibernate (até agora as duas implementações de JPA em produção - acredito que esteja saindo o Apache OpenJPA do projeto Gerônimo) baseia-se no uso das bibliotecas de implementação.

Inclusive tem um how to no site do netbeans (http://www.netbeans.org/kb/articles/hibernate-javaee.html) que indica quais as bibliotecas são necessárias para o uso do Hibernate.

Eu particularmente em particular, com minha própria opinião, prefiro o NetBeans.

Se o banco que você estiver utilizando for o Oracle, acredito que o Toplink seja a melhor escolha. Ouvi falar que as consultas geradas por ele para o Oracle são muito mais rápidas do que as geradas pelo Hibernate.

De qualquer forma, o melhor seria fazer um teste de performance. Teoricamente se você seguir a especificação e evitar utilizar features proprietárias, você pode trocar de implementação no meio do projeto.