如何动态获取持久性单元名称?
例如,在下面的示例中,我很难将unitName
编码为application_openjpa
,但我想以unitName=#{unitName}
动态地给它,所以如果我有不同的项目使用实体jar,但是可以使用自己的persistence.xml
文件
@PersistenceContext(unitName="application_openjpa")
public void setEntityManager(EntityManager entityManager) {
this.entityManager = entityManager;
}
答案 0 :(得分:0)
由于应用程序通常具有有限数量的持久性单元,如何创建两个setter方法并使用不同的unitName属性对其进行注释,例如:
@PersistenceContext(unitName="testEM")
public void setTestEntityManager(EntityManager testEM) {
this.testEM = testEM;
}
@PersistenceContext(unitName="prodEM")
public void setProdEntityManager(EntityManager prodEM) {
this.prodEM = prodEM;
}
然后您可以动态选择testEM
和prodEM