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]