@Produces @PersistenceContext EntityManager

时间:2019-02-05 11:05:58

标签: persistence hibernate-entitymanager

我有一个EntityManagerProducer,用于@Inject EntityManager。我的EntityManagerProducer类看起来像这样:

@ApplicationScoped
public class EntityManagerProducer {

    @PersistenceContext(unitName = "default_unit")
    @Produces
    EntityManager em;
}

现在,每当我使用@Inject EntityManager时,它就会按预期工作,并在default_unit文件中照顾名为persistence.xml的持久性单元。

我不明白的是为什么当我做这样的事情时,为什么期望相同的持久单元名称:

@Stateless
public class SomeClass {

   @PersistenceContext(unitName="other_unit")
   private EntityManager entityManager;
}

persistence.xml文件中,我仅定义了other_unit。仅在使用@Inject注释时才使用生产者吗?

0 个答案:

没有答案