Jpa + Hibernate Session ou EntityManager?

Pessoal… estou utilizando hibernate com jpa… e tenho uma duvida… o q eh melhor eu usar??

o sesion do hibernate. ou o entityManager do jpa??

Session

Session session = HibernateUtil.getSessionFactory().openSession();

ou EntityManager


              EntityManagerFactory emf = Persistence.createEntityManagerFactory("NotasPU", propertiesMap);
             EntityManager SESSION = emf.createEntityManager();

qual a diferenca entre eles???

valeu

A diferença é que você irá trabalhar com o objeto EntityManager da JPA.

No seu caso (já que você está utilizando o Hibernate como provider), trabalhe logo com o objeto Session do Hibernate.

O EntityManager criado para trabalhar com Hibernate, é simplismente um adptador que encapsula a session…

ou seja…

em.persist() vai chamar a session que ta dentro dele, e fazer session.persist() …

ate onde conseguir, use o EM, pois é uma API mais generica, e assim vc não fica tão dependente do Hibernate, e podera trocar (caso precise algum dia) sem muito sofrer…

todos os frameworks que trabalham com JPA tem um EM, portanto usando EM é indiferente c vc trabalha com Hibernate, ou com TopLink, ou com qualquer outro, e assim fica mais facil de trocar caso algum dia precise…

se não se importar com isso, vc pode usar direto session, mais ai estara assinando a certidão de casamento com o Hibernate, e como em todo casamento, qualquer separação vai sair bem caro na hora da divisão de bens heheh ^^

fabioebner, vc poderia postar como vc fez sua classe HibernateUtil e o Hibernate.cfg por favor.

muito obrigado.