Pessoal,
Gostaria de saber qual seria a melhor pratica de se usar o factory.
Em meu ultimo projeto utilizei um método Static em classe, veja:
public class Factory {
public static EntityManagerFactory EManager() {
EntityManagerFactory factory = Persistence.createEntityManagerFactory("innews");
return factory;
}
}
Quando o usuário entrava no sistema, o código criava uma factory e armazenava até que a mesma não fosse mais valida, então, um novo factory seria criado, vejam:
public EntityManager entity() {
if (eManagerFactory != null) {
return eManagerFactory.createEntityManager();
} else {
eManagerFactory = Factory.EManagerBanco();
return eManagerFactory.createEntityManager();
}
}
A classe do usuário logado é do tipo @SessionScoped.
Agora, estou criando um novo projeto e estou pensando em utilizar um ManagedBean anotado com @ApplicationScoped para servir toda a aplicação, e retornar o mesmo entityManager valido a todos os usuários.
O problema é que ainda não testei. É uma boa pratica? é a melhor forma?
Minha preocupação é o fato de o mesmo EntityManager ser passado a qualquer usuário.
O que vocês mais experientes pode me dizer?
Obrigado