@ManagedBeanpublicclassUsuarioBean{/* Dessa maneira não funciona, lança NullPointerException @PersistenceContext private EntityManager entityManager; *///Dessa forma funciona normalmente.EntityManagerFactoryfactory=Persistence.createEntityManagerFactory("catalogo");EntityManagerentityManager=factory.createEntityManager();publicUsuariousuario=newUsuario();publicList<Usuario>usuarios;publicvoidadiciona(){UsuarioRepurep=newUsuarioRep(this.entityManager);urep.adiciona(this.usuario);this.usuario=newUsuario();this.usuario=null;}publicvoidremove(){UsuarioRepurep=newUsuarioRep(this.entityManager);urep.remove(this.usuario);this.usuario=null;}publicList<Usuario>getUsuarios(){UsuarioRepurep=newUsuarioRep(entityManager);this.usuarios=urep.getUsuarios();returnthis.usuarios;}publicvoidsetEntityManager(EntityManagerentityManager){this.entityManager=entityManager;}}
08:07:49,059 INFO [org.jboss.jpa.deployment.PersistenceUnitDeployment] Starting persistence unit persistence.unit:unitName=catalogo.war#catalogo
08:07:49,620 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] Error installing to Start: name=persistence.unit:unitName=catalogo.war#catalogo state=Create: java.lang.ClassCastException: org.hibernate.ejb.HibernatePersistence cannot be cast to javax.persistence.spi.PersistenceProvider
J
Jair_Rillo_Junior
Olha na classe que você importou o EntityManager e tenha certeza que está usando o EntityManager da JPA
Pacote: javax.persistence
J
jv.nicocelli
Os imports estão corretos.
Estou achando que é algum problema referente as libs que estou usando no meu projeto x Jboss.
Dá uma procurada no google sobre esse defeito. joga a string "java.lang.ClassCastException: org.hibernate.ejb.HibernatePersistence cannot be cast to javax.persistence.spi.PersistenceProvider " no search.
Tem bastante gente falando desse problema justamente com o JBoss…
H
Hebert_Coelho
Cara, isso pode ser conflito.
Você adicionou biblioteca em seu projeto sem ser as do JBoss?
J
jv.nicocelli
Tinha algumas libs do hibernaite porem eu removi do projeto.