Olá, pessoal!
Estou tentando injetar o EntityManager no meu repositório genérico que será extendido por outros repositórios, porém o entityManager sempre fica nulo ou dá unsatisfied dependencies (erro de CDI).
O que estou fazendo de errado?
Tentei algumas outras anotações como @PersistenceContext, @PersistenceContext(unitName = "my-pu-name"), @Produces e até anotar o BaseRepository com @Stateless.
import javax.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
import javax.persistence.EntityManager;
import java.io.Serializable;
@ApplicationScoped
public class BaseRepository implements Serializable {
private static final long serialVersionUID = -2177241904083852057L;
@Inject
protected EntityManager em;
}
pom.xml:
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>8.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.hibernate.orm</groupId>
<artifactId>hibernate-core</artifactId>
<version>6.0.0.Alpha7</version>
</dependency>
Erro ao subir a aplicação:
org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied dependencies for type EntityManager with qualifiers @Default
at injection point [BackedAnnotatedField] @Inject protected mateus.repository.BaseRepository.em
atmateus.repository.BaseRepository.em(BaseRepository.java:0)at [email removido]//org.jboss.weld.bootstrap.Validator.validateInjectionPointForDeploymentProblems(Validator.java:378) at [email removido]//org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:290) at [email removido]//org.jboss.weld.bootstrap.Validator.validateGeneralBean(Validator.java:143) at [email removido]//org.jboss.weld.bootstrap.Validator.validateRIBean(Validator.java:164) at [email removido]//org.jboss.weld.bootstrap.Validator.validateBean(Validator.java:526) at [email removido]//org.jboss.weld.bootstrap.ConcurrentValidator$1.doWork(ConcurrentValidator.java:64) at [email removido]//org.jboss.weld.bootstrap.ConcurrentValidator$1.doWork(ConcurrentValidator.java:62) at [email removido]//org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:62) at [email removido]//org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:55) at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630) at java.base/java.lang.Thread.run(Thread.java:832) at [email removido]//org.jboss.threads.JBossThread.run(JBossThread.java:513)
Estou usando Wildfly 21 com Java 1.8.
Obrigado desde já!
