有没有办法让多个持久性捆绑包同时部署,用于管理位于同一个外部包/库中的不同hibernate带注释的Java类?
我有一个工作解决方案,可以在Karaf中使用Hibernate来管理在带注释的Java类中定义的持久数据。该解决方案包括三个.kar文件,一个用于管理持久性,另一个用于REST接口。
我更新了持久性模块,以指向在我控制的不同库中的模块外部的带注释的类。一切都还行。
我创建了第二组模块来管理不同的数据项。两个数据项都位于同一个包中的同一个库中。为了使其中任何一个工作,我必须使用bnd将包包含在创建的持久性Kar文件中的导出包中。我发现我可以为任一数据项部署kar文件,但不能同时部署两者。在Kar文件“export packages”中包含包含hibernate文件的包似乎没有任何意义。我没有成功尝试将它们包含在Import-Package定义中,并在外部库中包含其他功能/ bundle依赖项。
鉴于我有捆绑来保持A和B,当部署A的三个.kar文件时,一切正常。当我为B部署.kar文件时,现在持久性捆绑包A已经更新并且它导入持久性捆绑包B.持久性捆绑包B导入A的持久性包。我希望这些解决方案之间似乎存在交叉依赖关系。有没有办法将两者分开?