JPA是否支持可选的持久性单元,如果是的话如何配置?JPA中的可选持久性单元(使用多个持久性单元时)
我有一个持久性单元,这是我的主要数据库。
然后我配置了另一个我刚从数据库中读取对象来做一些检查。为了避免混淆多个数据源上的事务,我设置了第二个数据源jta="false"
。
但我希望能够检查是否有第二个数据源被定义,只有在它存在时才使用它。如果没有定义,我想简单地跳过我的支票。
问题是,我找不到如何使此选项。如果未配置第二数据源我从JBoss中部署扫描器New missing/unsatisfied dependencies
错误时,我的战争部署:
service jboss.naming.context.java.secondDatasource (missing) dependents: [service jboss.persistenceunit."de.my.war#secondDatasource"]
(顺便说一句:我使用JBoss 7.1.0和standard.xml配置的数据源 - 如果该信息与任何相关性)。
任何提示?
感谢您的想法。我认为这已经发生,当我的'persistence.xml'处理。但是我会检查这个...... – Jens 2013-03-06 14:46:27
当然,但这样你甚至不必在persistence.xml中声明第二个数据源! – 2013-03-06 21:57:11
@BalzásMáriaNémeth:对不起,我迟到了。如果存在通过JNDI发现的'datasource',我尝试了自己构建'EntityManager'的解决方案。但是:我不知道如何在我自己创建的'EntityManager'上设置找到的'datasource'。 'EntityManagerFactory'。它只接受'属性'来创建一个。但我手边有一个'datasouce'。我想过自己映射所有必要的属性,但密码是我在'datasource'上找不到的。有没有办法让创建的'EntityManager'使用我的'datasource'? – Jens 2013-03-18 10:10:32