Pouzi EntityManager, je podla standardnej specifikacie JPA. Hibernate je implementacia JPA (jedna z mnohych - napr. OpenJPA, EclipseLink...) a ked si pozries zdrojaky, tak org.hibernate.jpa.internal.EntityManagerImpl implementuje interface javax.persistence.EntityManager a vnutri pracuje so Session. Doporucuje sa pracovat s EntityManagerom a ak potrebujes pracovat s Hibernate specifickymi vecami, da sa dostat k Session aj precastovanim - ((HibernateEntityManager) entityManager).getSession().