JPA com Hibernate precisa de usar Session?

Olá pessoal. Estou com uma dúvida, peguei este exemplo de código a baixo na web, e gostaria de saber qual a diferença de usar este métod: createSession(). Ou diretamente este: createEm(). Eu uso este último e até agora não tive problemas.
Alguém poderia me esclarecer está dúvida?

Valeu pessoal.

[code]
package persistencia;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

import org.apache.log4j.Logger;
import org.hibernate.Session;
import org.hibernate.ejb.HibernateEntityManager;

public class HibernateUtil_MySQL {
private static EntityManagerFactory emf;

public static EntityManagerFactory getEmf() {   
    if (emf == null){   
        synchronized (HibernateUtil_MySQL.class) {   
            if (emf == null)   
                try {   
                	Logger.getLogger(HibernateUtil_MySQL.class).info(">>>EntityManagerFactory criado!");
                    emf = Persistence.createEntityManagerFactory("unidade_persistencia"); 
                } catch (RuntimeException ex) {   
                    Logger.getLogger(HibernateUtil_MySQL.class).fatal("não foi possível carregar a unidade de persistencia", ex);   
                    throw ex;   
                }   
        }   
    }   
    return emf;   
}   

public static EntityManager createEm() {   
    try {   
        return getEmf().createEntityManager();   
    } catch (RuntimeException ex) {   
        Logger.getLogger(HibernateUtil_MySQL.class).error("falha ao criar EntityManager", ex);   
        throw ex;   
    }   
}   

public static Session createSession() {   
    return ((HibernateEntityManager)createEm()).getSession();   
}   

}[/code]

Não, essa classe deve ser assim pq o autor necessitava utilizar os recursos do hibernate

alguns deles, como criteria e oustros q o JPA não tem (ou tinha)

[quote]Não, essa classe deve ser assim pq o autor necessitava utilizar os recursos do hibernate

alguns deles, como criteria e oustros q o JPA não tem (ou tinha) [/quote]
Obrigado pela resposta zoren. E me desculpem, agora que eu percebi que postei a minha dúvida no lugar errado. Foi mal :?