我想使用Spring概要文件定义两个(或更多)不同的EntityManagerFactories;请注意,我可以同时激活多个配置文件:
@Bean("devEMF")
@Profile("development")
public EntityManagerFactory devEntityManagerFactory(Properties properties) {
///....
}
@Bean("prodEMF")
@Profile("production")
public EntityManagerFactory prodEntityManagerFactory(Properties properties) {
///....
}
问题是,为了使用底层EntityManager,我需要注入它们:
@PersistenceContext(unitName="prodEMF")
public void setFirstEMPersistenceContext(EntityManager entityManager) {
//...
}
但是并不是说已经构建了“ prodEMF” EntityManagerFactory(取决于活动的配置文件):在这种情况下,Spring抱怨“不能注入名为prodEMF的bean”。
我还没有找到一种方法来使PersistenceContext注入受活动配置文件限制;例如,我不会写:
@Profile("production")
@PersistenceContext(unitName="prodEMF")
public void setFirstEMPersistenceContext(EntityManager entityManager) {
//...
}
有什么解决办法吗? 谢谢您的帮助!