Hibernate

3 respostas
W

Dúvida: Qual a diferença entre usar o SessionFactory ou o EntityManager do Hibernate?

3 Respostas

R

Vamos esclarecer a nomenclatura:
SessionFactory é a fábrica de sessões (Session) do Hibernte
EntityManagerFactory é a fabrica de sessões (EntityManager) do JPA, ou Java Persistence API

O Hibernate é um framework de persistência que existe há muitos anos, e tem uma grande aceitação no mercado, tornando-se um pdrão “de facto”.

O JPA foi lançado em 2005 e é uma especificação padronizadora para frameworks de persistência.

Os desenvolvedores do Hibernate lançaram um projeto chamado Hibernate EntityManager, que é uma camada de compatibilização entre o framework Hibernate tradicional (hoje chamado de Hibernate Core) e o JPA que é um padrão oficial.

Quando vc usa a Session do Hibernate vc tem maiores poderes, pois o Hibernate supera o JPA em termos de funcionalidades.

Quando vc usa o EntityManager do JPA vc está tornando sua aplicação portável para outros ambientes onde a persistência não é resolvida com o Hibernate.

R

Se vc ficou na dúvida em qual usar, utilize o JPA, pois é uma padrão oficial.
E vá estudando o Hibernate, pois muitos recursos disponíveis nesse framework vão acabar aparecendo nas futuras versões do JPA.

W

Obrigado!!

Criado 7 de julho de 2008
Ultima resposta 8 de jul. de 2008
Respostas 3
Participantes 2