0

有人可以向我解释如何将 Hibernate 与 Payara (Glassfish) Server 一起使用吗?我在 META-INF 中创建了我的 persistence.xml,在 payara41/glassfish/lib 目录中删除了所有必需的 jar,但是当我尝试部署我的包时,它找不到任何休眠包,即使我在 Import-Packages 中指定了它们。我可以手动部署每个所需的 Hibernate jar,但其中一些不支持 OSGi。我在这里做错了什么?我只想从 Glassfish 连接池中获取连接,并使用 Hibernate 列出一个表中的所有条目。顺便说一句,为什么 Payara 没有像 Glassfish 那样的更新工具?


为 OndrejM 编辑

我只想能够使用 Hibernate 来处理来自 osgi 包的数据库,仅此而已。

4

1 回答 1

2

Payara/Glassfish 将 OSGi 包存储在glassfish/modules目录中,而不是glassfish/lib. 尝试将您的休眠包放在那里。而且它不必是一个包,你可以把普通的 JAR 放在那里——它会自动变成一个包。

如果遇到依赖冲突,最好将 hibernate 重新打包到一个包含所有依赖项的 OSGi 包中。否则,您可能会与其他提供相同软件包但版本不同的 Payara 模块发生冲突。另一种解决方案是指定正确版本的休眠依赖项,以便拾取正确的模块 - 但这可能很棘手且耗时;而且几乎不可能讨论SO。

于 2016-06-21T07:07:11.627 回答