当我们在JAVA EE环境中使用@PersistenceContext注释来注入EntityManager时,容器将创建entityManagerFactory(我猜是为整个会话创建一个),并且通过代理为每个请求创建一个新的EntityManager。
但是,在没有JAVA EE容器的情况下使用CDI,我看到了类似于这样的东西:
但是,在没有JAVA EE容器的情况下使用CDI,我看到了类似于这样的东西:
public class EntityManagerProducer {
private static EntityManagerFactory emf = Persistence.createEntityManagerFactory("livraria");
@Produces
public EntityManager getEntityManager() {
return emf.createEntityManager();
}
public void close(EntityManager em) {
em.close();
}
使用这种方法与CDI一起使用,是否会产生相同的效果和性能? 感谢您的帮助。