有人可以向我解释如何将Hibernate与Payara(Glassfish)服务器一起使用吗? 我在META-INF中创建了我的persistence.xml,删除了payara41 / glassfish / lib目录中所有必需的jar,但是当我尝试部署我的bundle时,它找不到任何hibernate包,即使我在Import-中指定了它们 - 包。我可以手动部署每个必需的Hibernate jar,但其中一些并没有OSGi支持。我在这做错了什么?我只是想从Glassfish连接池获得连接,并使用Hibernate列出一个表中的所有条目。 顺便说一下,为什么Payara没有像Glassfish这样的更新工具?
为OndrejM编辑
我只是希望能够使用Hibernate从osgi包中使用我的数据库,这就是全部。
答案 0 :(得分:2)
Payara / Glassfish将OSGi包存储在glassfish/modules
目录中,而不是glassfish/lib
。尝试将你的hibernate包放在那里。并且它不必是一个捆绑包,你可以在那里删除普通的JAR - 它将自动变成一个捆绑包。
如果您遇到依赖项冲突,那么将hibernate重新打包到包含其所有依赖项的OSGi包中可能会更好。否则,您可能会遇到与其他Payara模块的冲突,这些模块提供相同的软件包,但具有不同的版本。另一种解决方案是指定正确版本的hibernate依赖项,以便选择正确的模块 - 但这可能是棘手且耗时的;并且几乎不可能在SO上讨论。