如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中依赖该项目并导入适当的包。