Hibernate ou openjpa

8 respostas
D

mais uma vez ai

estou começando no java web ja sei sobre jsp servelets filters listeners taglibs e achei mais facil aprender persistencia de dados por enquanto, no lugar de mvc coisa do tipo.

alguem poderia me dizer as vantegens de usar Hibernate e/ou OpenJPA em relação performace;melhor api e etc… qual o melhor framework na opinião de vocês.

não gostei muito do hibernate por causa do xml não sei se é por causa que so achei conteudo usando conf via xml ou é melhor assim(queria saber porque?).

li por ai que hibernate é bem aceito no mercado…

8 Respostas

drsmachado

dsntnow:
mais uma vez ai

estou começando no java web ja sei sobre jsp servelets filters listeners taglibs e achei mais facil aprender persistencia de dados por enquanto, no lugar de mvc coisa do tipo.

alguem poderia me dizer as vantegens de usar Hibernate e/ou OpenJPA em relação performace;melhor api e etc… qual o melhor framework na opinião de vocês.

não gostei muito do hibernate por causa do xml não sei se é por causa que so achei conteudo usando conf via xml ou é melhor assim(queria saber porque?).

li por ai que hibernate é bem aceito no mercado…


Se é só pelo XML, utilize hibernate com annotations…

jaboot

E outra, se você está começando no Java Web, vá pelo Hibernate… tem muito mais documentação na internet pra te ajudar e openjpa é meio chatinho…

luxu

aliás pelo hibernate vc usará o criteria q pra buscar suas infos no BD são mais eficiente pela infinidade de opções para refinar a busca.

LPJava

vá de hibernate. Vc pode fazer o config tanto no xml, qto em um arquivo .properties. e para as anotacoes da sua classe, esqueça o .hbm e va de annotation. no meu blog tem alguns posts de hibernate www.camilolopes.com.br

E

saindo pela tangente do tópico, estou usando o EclipseLink e estou gostando, implementando a JPA2, ele também tem annotations e criteria. Mas principalmente, estou gostando dele por causa da integração com o netbeans no código.

drsmachado

Ah sim, bem lembrado, é uma ótima opção.

T

Gostaria de levantar uma duvida que tenho

Hibernate é melhor porque?
pergunto isso porque quando configurei o hibernate tive que colocar varias dependências para funcionar o Annotations
além de api de log4 etc…

sem contar que quando quiz atualizar as libs fui no sites baixei todas as mais novas atualizações e dava problema de versão,
hibernate cor 4 não funciona com Annotations 3 coisas desse tipo, sendo assim tive que dar o braço a torcer e deixar tudo va versão 3 pra funcionar direito (essa foi uma impressão que eu tive pode ser que eu estava fazendo coisa erra, mas aparentemente hibernate para configurara parece complicado )

e quando utilizei o OpenJPA só adicionei no meu path uma (1) lib e pronto, Annotations funcionando e os gets, set , commit e engenharia reversa funcionando, bem simples

alguém poderia dizer pontos positivos e negativos do hibernate e openjpa??

já vou começar

hibernate

positivo:
Grandes empresas usam.
tem muitos filtros.
Usado em grandes projetos
muita documentação (para marinheiro de primeira viagem um pouco complicado)

negativos:
Muitas dependências
as dependências podem dar conflitos
no meu caso tive que deixar a versão antiga por causa dos conflitos
acredito que seja mais pesado em tamanho e pocessamento por ter muitas libs

openjpa
positivos:
tudo esta encapsulado em um jar
não tem muitas dependências
rápida configuração
parece ser bem rapidinho (Não fiz testes de performance para verificar isso , só insert e delete update simples)
pela simplicidade acredito que pode ser usado em pequenos projetos sem medo porque ele usa jpa

negativos:
pouca documentação
não é muito divulgado
não conheço projetos que usam ele

alguém poderia continuar ??

leo_mf

tonyti.linux:
Gostaria de levantar uma duvida que tenho

Hibernate é melhor porque?
pergunto isso porque quando configurei o hibernate tive que colocar varias dependências para funcionar o Annotations
além de api de log4 etc…

sem contar que quando quiz atualizar as libs fui no sites baixei todas as mais novas atualizações e dava problema de versão,
hibernate cor 4 não funciona com Annotations 3 coisas desse tipo, sendo assim tive que dar o braço a torcer e deixar tudo va versão 3 pra funcionar direito (essa foi uma impressão que eu tive pode ser que eu estava fazendo coisa erra, mas aparentemente hibernate para configurara parece complicado )

e quando utilizei o OpenJPA só adicionei no meu path uma (1) lib e pronto, Annotations funcionando e os gets, set , commit e engenharia reversa funcionando, bem simples

alguém poderia dizer pontos positivos e negativos do hibernate e openjpa??

já vou começar

hibernate

positivo:
Grandes empresas usam.
tem muitos filtros.
Usado em grandes projetos
muita documentação (para marinheiro de primeira viagem um pouco complicado)

negativos:
Muitas dependências
as dependências podem dar conflitos
no meu caso tive que deixar a versão antiga por causa dos conflitos
acredito que seja mais pesado em tamanho e pocessamento por ter muitas libs

openjpa
positivos:
tudo esta encapsulado em um jar
não tem muitas dependências
rápida configuração
parece ser bem rapidinho (Não fiz testes de performance para verificar isso , só insert e delete update simples)
pela simplicidade acredito que pode ser usado em pequenos projetos sem medo porque ele usa jpa

negativos:
pouca documentação
não é muito divulgado
não conheço projetos que usam ele

alguém poderia continuar ??

???
:twisted: :idea: :? :roll: :evil: :!:

Toda openjpa como hibernate possui muitas dependências, hibernate possui otimo desempenho, openjpa possui muitos bugs(precisa amadurecer muito ainda, veja no site https://issues.apache.org/jira/browse/OPENJPA), hibernate já está a um bom tempo no mercado e suas versões atuais estão bem maduras, tanto para o JPA 1 quando para o JPA 2.
As configurações a complexidade e tempo para a configuração para o openjpa quanto para o hibernate são as mesmas. O openjpa demora mais que o hibernate para iniciar. O openjpa inicia, de fato, somente na primeira utilização do entitymanager, quanto o hibernate inicia na criação do entitymanagerfactory. Eu ja utilizei o openjpa em testes unitários e conheço gente que já usuou-o para teste unitários também, o openjpa demostrou ser bem instável nos testes, mesmo utilizando o hsqldb em memória. Versões anteriores do openjpa não suportava herança(havia bugs em relação à isso), o que ridículo no meu ponto de vista. A quantidade de libs não é desculpa para deixar o processamento pesado. Conflito de biblioteca existe em todo lugar, só saber configurar direito. O hibernate tem um problema que o tratamento de exceções, pois as vezes ele lança uma exceção que confunde a gente. No openjpa não pode esquecer de configurar a propriedade de log no persistence.xml, pois se não for configurada não mostra erro nenhum somente um rollbackexception. Não tenho o que me queixar da documentação do hibernate.

Criado 14 de outubro de 2011
Ultima resposta 30 de mai. de 2012
Respostas 8
Participantes 8