JPA ou HBM

7 respostas
S

Ola pessoal sou novato em frameworks estou estudando ainda e no dia a dia aprendendo suas funcionalidades, tive um contato com JPA e agora estou estudando o uso do HBM para fazer os mapeamento dos POJOS.

A minha dúvida é existe uma regra para uso de um ou uso de outro ou é opção? Qualquer aplicação posso optar por HBM? ele é tao bom quanto o JPA ou vice e versa?

Se alguem puder citar alguns prós e contras para uma melhor fixação eu fico agradecido!

Obrigado pela atenção.

7 Respostas

Hebert_Coelho

HBM? Qual é esse?

romarcio

Acho que é o mapeamento por xml do Hibernate.

Seria isso samuelM?

S

exatamente romarcio

rmendes08

Veja bem, JPA é uma especificação. Ao usar JPA você precisa usar uma de suas implementações, entre elas o Hibernate. Pessoalmente, eu prefiro usar o JPA puro, abstraindo completamente a implementação. Dessa maneira, eu não preciso distribuir o framework junto com a minha aplicação, caso o deploy seja feito em um servidor full-JEE como o JBoss ou Glassfish.

Hebert_Coelho

rmendes08:
Veja bem, JPA é uma especificação. Ao usar JPA você precisa usar uma de suas implementações, entre elas o Hibernate. Pessoalmente, eu prefiro usar o JPA puro, abstraindo completamente a implementação. Dessa maneira, eu não preciso distribuir o framework junto com a minha aplicação, caso o deploy seja feito em um servidor full-JEE como o JBoss ou Glassfish.
+1

E também fica muito simples migrar de implementação. Já vi sistema mudando do hibernate -> eclipselink sem problemas e sem precisar alterar código. [=

rmendes08

jakefrog:
rmendes08:
Veja bem, JPA é uma especificação. Ao usar JPA você precisa usar uma de suas implementações, entre elas o Hibernate. Pessoalmente, eu prefiro usar o JPA puro, abstraindo completamente a implementação. Dessa maneira, eu não preciso distribuir o framework junto com a minha aplicação, caso o deploy seja feito em um servidor full-JEE como o JBoss ou Glassfish.
+1

E também fica muito simples migrar de implementação. Já vi sistema mudando do hibernate -> eclipselink sem problemas e sem precisar alterar código. [=

Exatamente.

A minha preferência ao trabalhar com Web é usar o que for possível da especificação JEE. Hoje em dia nada é mais fácil do que levantar um projeto Web com JSF + CDI + JPA.

drsmachado

rmendes08:
jakefrog:
rmendes08:
Veja bem, JPA é uma especificação. Ao usar JPA você precisa usar uma de suas implementações, entre elas o Hibernate. Pessoalmente, eu prefiro usar o JPA puro, abstraindo completamente a implementação. Dessa maneira, eu não preciso distribuir o framework junto com a minha aplicação, caso o deploy seja feito em um servidor full-JEE como o JBoss ou Glassfish.
+1

E também fica muito simples migrar de implementação. Já vi sistema mudando do hibernate -> eclipselink sem problemas e sem precisar alterar código. [=

Exatamente.

A minha preferência ao trabalhar com Web é usar o que for possível da especificação JEE. Hoje em dia nada é mais fácil do que levantar um projeto Web com JSF + CDI + JPA.


Sem contar que a curva de aprendizado disto tudo é bem menor que aprender rich/primefaces + Spring Framework + Hibernate

Criado 3 de setembro de 2012
Ultima resposta 4 de set. de 2012
Respostas 7
Participantes 5