java - 将 Payara (Glassfish) 连接池与 Hibernate 结合使用

标签 java hibernate glassfish osgi payara

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

<小时/>

为 OndrejM 编辑

我只是希望能够使用 Hibernate 来处理 osgi 包中的数据库,仅此而已。

最佳答案

Payara/Glassfish 将 OSGi 包存储在 glassfish/modules 目录中,而不是 glassfish/lib 中。尝试将您的 hibernate 包放在那里。它不一定是一个 bundle ,您可以将普通的 JAR 放在那里 - 它将自动变成一个 bundle 。

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

关于java - 将 Payara (Glassfish) 连接池与 Hibernate 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37925732/

相关文章:

java - 提高 Hibernate 查询性能

java - hibernate使用其他类ID作为这个类ID

java - 无法将我的项目部署到我之前部署在 glassfish 上的 tomcat 上

java - 如何使用 Java 删除包含文件的文件夹

java - 使用级联持久化实体时获取子id

java - 将 Java 服务器应用程序集成到 TomCat、GlassFish 等应用程序服务器中

java - 设置 Glassfish 不使用任何摘要算法

java - Vaadin 提供实时图表吗?

java - Jsoup NoClassDefFoundError 错误

java - 如何在使用 Selenium WebDriver 和 eclipse 中的 java 代码在搜索字段中输入文本后按 'Enter'