1

我目前正在对一个项目进行大型重构,目标是在 OSGi 容器中使用 JPA Aries 来实现持久性(而不是普通的旧 J2EE 堆栈)。

目前到目前为止一切顺利,我正在遵循您网站上的 tasklit 蓝图(它是托管 jpa)示例的指导,一切正常(我使用的是 felix 5,带有 aries jpa 2.1 版本和 hibernate 4.3+ 作为 orm )

我正在尝试使解决方案尽可能地可配置,目前我的 persistence.xml 如下所示:

<persistence-unit name="Audit" transaction-type="JTA">    
    <jta-data-source>osgi:service/javax.sql.DataSource/(osgi.jndi.service.name=jdbc/audit)</jta-data-source>

    <properties>
        <property name="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect"/>
        <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
    </properties>
</persistence-unit>

我已经使用带有 configAdmin 的 blueprint-cm 将 dataSource 配置外部化,因此对于 dataSource 它运行良好。

但是现在我只剩下红色的这些属性(如 hibernate.dialect),你认为将它们外部化的最优雅的方式是什么?

请注意,我的 entityManager 是这样注入的:

/**
 * EntityManager, injected by blueprint jpa.
*/
@PersistenceContext(unitName = "Audit")
private EntityManager entityManager;

谢谢你的帮助!

4

0 回答 0