here所述,我已经安装了Karaf和OpenJPA并对其进行了测试。我安装了examplejpa,它工作正常,没有任何错误。
但是,我需要在另一个Karaf捆绑包中使用此jpa(Person类和PersonService接口)。
换句话说,我已经安装了examplejpa。现在,我想创建一个新的捆绑包,该捆绑包可以通过examplejpa捆绑包访问数据库。
我该怎么办?

通常,有什么方法可以在不同的包中实现数据库JPA和JPA客户端类?

亲切的问候。

最佳答案

最简单的方法是从examplejpa项目中公开服务,然后从新捆绑包中访问该服务。

在examplejpa项目的蓝图中,声明了服务“ personService”:

<service ref="personService" interface="net.lr.tutorial.karaf.db.examplejpa.PersonService" />


您可以通过对其他服务进行引用来重用该服务:

<reference id="rpersonService" interface="net.lr.tutorial.karaf.db.examplejpa.PersonService" />


之后,您可以将该引用注入到类的变量中:

<bean id="myBean" class="my.new.package.MyClasses">
    <property name="myPersonService" ref="rpersonService" />
</bean>


不要忘记在pom中依赖该项目并导入适当的包。

09-07 16:40