Loja Virtual completa
Olá pessoal,
Estou com um problema ao instanciar EntityManager, esta retornando nulo, alguém passou por esse problema, segue o código :
public abstract class BasicSessionBean implements Serializable{
private static final long serialVersionUID = 1L;
@PersistenceContext private EntityManager em;
public BasicSessionBean(){ }
public EntityManager getEm() { return em; }
....Quando vou utilizar o método abaixo o "em" ele está null
private Query createQuery(String query, Object[] values) { Query qr = em.createQuery(query); if (values != null) { for (int i = 0; i < values.length; i++) { Object object = values[i]; qr.setParameter(i + 1, object); } } return qr; }
Obs. O arquivo persistence.xml existe.
E quando eu escrevo o codigo da seguinte forma, funciona :
EntityManagerFactory emf = Persistence.createEntityManagerFactory("EcommerceJPAPU"); @PersistenceContext private EntityManager em = emf.createEntityManager();
Só que não executa as ações do "em" query, persist....
Valeu!Sou guerreiro, desistir jamais...
Estou com um problema ao instanciar EntityManager, esta retornando nulo, alguém passou por esse problema, segue o código :
public abstract class BasicSessionBean implements Serializable{
private static final long serialVersionUID = 1L;
@PersistenceContext private EntityManager em;
public BasicSessionBean(){ }
public EntityManager getEm() { return em; }
....Quando vou utilizar o método abaixo o "em" ele está null
private Query createQuery(String query, Object[] values) { Query qr = em.createQuery(query); if (values != null) { for (int i = 0; i < values.length; i++) { Object object = values[i]; qr.setParameter(i + 1, object); } } return qr; }
Obs. O arquivo persistence.xml existe.
E quando eu escrevo o codigo da seguinte forma, funciona :
EntityManagerFactory emf = Persistence.createEntityManagerFactory("EcommerceJPAPU"); @PersistenceContext private EntityManager em = emf.createEntityManager();
Só que não executa as ações do "em" query, persist....
Valeu!Sou guerreiro, desistir jamais...
Noésio Souza
Curtidas 0
Respostas
Davi Costa
17/03/2011
Tem que conferir cuidadosamente o persistence.xml.
E para sua segunda parte do código, não faz sentido instancar um objeto e tentar injetá-lo:
EntityManagerFactory emf = Persistence.createEntityManagerFactory("EcommerceJPAPU"); @PersistenceContext private EntityManager em = emf.createEntityManager();
Usamos esse annotation justamente para o container gerenciar esses objetos e não termos que nos preocupar com ele.
Att Davi
E para sua segunda parte do código, não faz sentido instancar um objeto e tentar injetá-lo:
EntityManagerFactory emf = Persistence.createEntityManagerFactory("EcommerceJPAPU"); @PersistenceContext private EntityManager em = emf.createEntityManager();
Usamos esse annotation justamente para o container gerenciar esses objetos e não termos que nos preocupar com ele.
Att Davi
GOSTEI 0
Dyego Carmo
17/03/2011
Opa !
Funcionou ?
Funcionou ?
GOSTEI 0
Noésio Souza
17/03/2011
Funcionou,
Faltava :
public CategoryFace(){ setSelectedBean(new Category()); }
Por isso dava null.
Valeu!
Faltava :
public CategoryFace(){ setSelectedBean(new Category()); }
Por isso dava null.
Valeu!
GOSTEI 0
Davi Costa
17/03/2011
Beleza cara show de bola.
Caso tenha resolvido, favor fechar a pendência.
att Davi
Caso tenha resolvido, favor fechar a pendência.
att Davi
GOSTEI 0