Fala galera, beleza!?
Em uma aplicação web que to fazendo eu estou usando entidades do banco geradas pelo netbenas, daí aproveitei pra gerar as classes controladoras jpa.
Essas classes pedem um EntityManagegerFactory. Sendo uma aplicação web eu criei a seguinte classe helper:
public class EntityManagerFactoryHelper {
private static EntityManagerFactory factory;
public static EntityManagerFactory getFactory() {
HttpSession session = (HttpSession)FacesContext.getCurrentInstance().getExternalContext().getSession(true);
factory = (EntityManagerFactory)session.getAttribute("factory");
if(factory == null) {
factory = Persistence.createEntityManagerFactory("SuperLocadoraPU");
session.setAttribute("factory", factory);
return factory;
} else {
return factory;
}
}
}
Ou seja, jogo a factory na sessão aí toda hora que for usar um dao passo como parâmetro EntityManagerFactoryHelper.getFactory();
Minha dúvida é se isso aí tá correto, se é a melhor maneira de gerenciar esse objeto. Agradeço as respostas!