Hibernate SessionFactory vs. JPA EntityManagerFactory

Soy nuevo en Hibernate y no estoy seguro de si usar un Hibernate SessionFactoryo un JPA EntityManagerFactorypara crear un HibernateSession . ¿Cuál es la diferencia entre estos dos? ¿Cuáles son los pros y los contras de usar cada uno de