Hibernate x TopLink

E ai pessoal estou querendo passar a usar o padrao JPA e estou em dúvida qual framework usar Hibernate ou TopLink? Se alquem tiver outra sugestao ?

Hibernate.

Hibernate! :wink:

Mesmo para Oracle você recomenda Hibernate ?

Independente de ser Oracle ou não, o importante é avaliar as necessidades e tomar a decisão mais adequada pro projeto em questão. Mas sim, acredito que o Hibernate leve vantagem na maioria dos casos.

Já vi casos de compração de performance onde o TopLink era superior ao Hibernate, aliás, essa compração estava numa das palestras do JustJava do ano passado senão me engano (ou retrasado).

Lembro-me vagamente que um dos pontos citados como contra, era o TopLink ser uma solução Oracle, fechada e paga.

Entretanto, parece que a mesma foi doada ao projeto GlassFish, portanto, acredito que vale à pena pesquisar mais sobre o assunto, principalmente se o banco utilizado por sua companhia for Oracle.

Enetndo que muitos vão dizer que uma das grandes vantagens das ferramentas de mapeamento pós relacional é a independência de player e fornecedor.

Mas numa aplicação corporativa, onde você tem uma série de configurações, tunning no seu banco, é muito mais complicado fazer a migração do que somente o banco

É todo um conjunto de ambiente e serviços que a solução traz consigo.

Depende qual você achar melhor, seria interessante você usar o DataProvider.

Mas aí com JPA esse problema nem é tão grande, se for mudar de banco, muda a implementação do JPA parao Hibernate :slight_smile:

Na teoria é para funcionar…

Galera, na empresa que trabalho o Banco de Dados é Oracle e ela não temintensão nenhuma de mudar, pois todo o ERP está com Oracle. Será que se for usar JPA o mais indicado não é o TopLink ?? já que ele é filho da Oracle ??

[quote=microfilo]Mas aí com JPA esse problema nem é tão grande, se for mudar de banco, muda a implementação do JPA parao Hibernate :slight_smile:

Na teoria é para funcionar… [/quote]

Usar JPA e perder a API de criteria, as facilidades nos mapeamentos (como unsaved values nas chaves), relacionamentos de um pra um com chaves primárias-estrangeiras, componentes com relacionentos?

Não, prefiro me amarrar no Hibernate mesmo que ficar esquentando a cabeça com uma especificação meia boca feita pra tapar buraco de ferramenta ORM que ficou parada na idade média (leia-se TopLink).

[quote=Maurício Linhares]
Usar JPA e perder a API de criteria, as facilidades nos mapeamentos (como unsaved values nas chaves), relacionamentos de um pra um com chaves primárias-estrangeiras, componentes com relacionentos?

Não, prefiro me amarrar no Hibernate mesmo que ficar esquentando a cabeça com uma especificação meia boca feita pra tapar buraco de ferramenta ORM que ficou parada na idade média (leia-se TopLink).[/quote]

Vc quer dizer que a soma das vantagens descontando as desvantagens entre Hibernate e TopLink com JPA, o Hibernate é mais positivo ?? se for, Pq ?

[quote=marceloplis]
Pq ?[/quote]

Ótima pergunta! Era o que estava me perguntando.

O Hibernate é fera mesmo, mas não há nada que não mude, ainda mais na área tecnológica. Poderiam expor um motivo concreto pelo qual o Hibernate deve ser a escolha sobre o Top Link, num caso genérico?

[quote=RafaelRio][quote=marceloplis]
Pq ?[/quote]

Ótima pergunta! Era o que estava me perguntando.

O Hibernate é fera mesmo, mas não há nada que não mude, ainda mais na área tecnológica. Poderiam expor um motivo concreto pelo qual o Hibernate deve ser a escolha sobre o Top Link, num caso genérico?[/quote]

Só o fato de JPA não ter criteria já basta pra eu optar pelo Hibernate…

<property name="hibernate.c3p0.min_size" value="5"/> <property name="hibernate.c3p0.max_size" value="20"/> <property name="hibernate.c3p0.timeout" value="300"/> <property name="hibernate.c3p0.max_statements" value="50"/> <property name="hibernate.c3p0.idle_test_period" value="3000"/>

Com isso no persistence.xml usando Hibernate crio um pool de conexões.
Aumenta a performance dependendo do caso em muito.

Isso no caso Web

Viva!

Acabei de ler este forum, mas concretamente, razoes apontadas…

Qual a melhor ferramenta JPA para implementação!
A complexidade e completa ferramenta Hibernate?
Ou o simples TopLink?

porque concretamente so o criteria é que da a vantagem ao Hibernate?

O pouco que programei em JPA(estou voltando a ativa novamente nisso pois havia parado meus estudos nele), eu utilizei o TopLink + NetBeans 5.5 e … vou te falar, foi bem facil de configurar e eu gostei muito, baixei o Hibernate, consigui fazer uma aplicação tbm mas não foi tão simples quanto no TopLink, pelo que vi na internet o Hibernate tem mais funções que o TopLink mas não é tão rápido quanto o anterior…
Bem sobre essa última parte não tenho certeza pois utilizei mais em aplicações para persistência doque para busca.
A praticidade de utilizar TopLink foi muito grande, mas esse Framework é muito Underground e é mais fácil vc achar livros e tutoriais de Hibernate(pelo menos eu achei aos montes).
Agora quem ganha essa batalha… só fazendo uma analize ciêntifica com as mesmas condições para ambos e analisar critérios como complexidade, rapidez e segurança.
Até mais…

Eu concordo com o DEAD.

Com a especificação atual da SUN (JEE5) e o uso do NetBeans, o TopLink fica superpratico, já vem instalado no Sun APP Server e de quebra é bem fiél ao tutorial oficial JEE5 da SUN.

O problema é a falta de material dele. Você com certeza vai encontrar problemas parecidos com esse http://www.guj.com.br/posts/list/67836.java e ter que garimpar na internet em busca de material muitas vezes em sites ou foruns Gringos.

"

aproveitando que o colega ressucitou este tópico, vou dar uma de doido e adicionar o NHibernate em questão!

mas para ficar mais bonito o diálogo neste tópico seria melhor trabalharmos informando o seguinte:

[quote]1. Quais são seus critérios de avaliar framework ORM?
2. Dentro de cada critério coloque o seu comentário informando qual seria melhor e brevemente por quê?
3. Resumindo em poucas palavras quais são as vantagens no seu ponto de vista e uso em projetos ? (dica: o que ajudou e atrapalhou)
4. e mesmo acima para desvantagens?
[/quote]
outra coisa, vocês sabem de algum benchmark oficial no qual compara performance de ambos?

Vale ressaltar que o que foi doado é o TopLink Essentials , com apenas o essencial do TopLink.
Uma versão “full” mais completa e com mais recursos continua sendo paga e fechada pela Oracle.