【问题标题】:Hibernate/EclipseLink? Which is best with Weblogic,Oracle DB?休眠/EclipseLink? Weblogic,Oracle DB哪个最好?
【发布时间】:2010-12-17 06:05:42
【问题描述】:

在我的公司,我们使用 Oracle DB 和 Weblogic 应用服务器。因此,在升级或切换到新 ORM 的过程中,我们选择了两个选项 - Hibernate 和 EclipseLink。

我收集了以下关于两个 ORM 的摘要 -

休眠:

  1. 当您需要培训人员时,就像我们下周要做的那样 - 大多数公司都有 Hibernate 专家。
  2. 当您雇用新开发人员时,他们中的大多数人都具有特定的 Hibernate 经验。
  3. 当您需要咨询专家(无论是互联网专家还是顾问)时,您有很多选择。关于 Hibernate 的无尽论坛和社区。​​li>
  4. Hibernate 是一个拥有庞大社区的开源软件。这意味着它将一直在改进,并将推动 ORM 市场向前发展。
  5. Hibernate 是开源的,这意味着您可以处理代码,如果需要,可以根据您的需要进行调整。
  6. Hibernate 有很多插件,例如验证工具、审计工具等。这些也成为标准,让您从 impl 中解脱出来。自己做事。
  7. ORM 工具最重要的一点是根据应用程序的需要对其进行配置。通常默认设置不适合您的需要。 因此,当市场对工具的配置有丰富的经验,并且有很多专家(见第 1 点和第 3 点)时,您很可能会找到类似的案例和 大量关于如何配置工具以及如何配置您的应用程序的知识。

Eclipse 链接:

  1. Oracle 完全支持。休眠号在 pb 的情况下,证明它是纯 Weblogic 可能很麻烦。具体来说,我们必须证明这一点(浪费时间和复杂性)。
  2. Eclipse 链接由 Oracle 开发,是 Weblogic /Oracle DB 领域的首选 ORM。
  3. 即使在某个时间 EclipseLink 与 Hibernate(功能)相比有点晚,EclipseLink 发展得非常快,我们现在可以考虑它们缩小了差距。
  4. 只要您拥有 Weblogic 许可证,就无需支付额外费用。如果您想获得有关 Hibernate 的专业支持,则需要支付额外费用。
  5. 我们目前依靠 Hibernate 来提供我们的旧产品,并面临二级缓存 (JGroups) 中的 pb。今天,我们将结束这部分!结果是聚类方法的限制(性能)
  6. 在 EclipseLink 方面,我们确实成功地以集群方法管理一级和二级缓存。
  7. Hibernate 确实是开源的,因此您可以想象如何处理它。实际上,代码非常复杂,几乎不可能修改它。此外,由于是 LGPL,您需要将所有修改后的源系统地反馈给社区。​​li>
  8. Oracle 执行的所有有关 Weblogic 的测试都使用 EclipseLink。此外,Oracle 表示已对 Oracle DB 进行了一些特定的优化。
  9. Hibernate 来自 JBoss 社区。​​li>

目前我们更喜欢 Hibernate,但存在一些顾虑/原因,例如 Oracle 开发的 EclipseLink 和 Webogic/Oracle DB 世界中首选的 ORM(ORM 与 DB 和 App.server 的兼容性),支持与两种 ORM 的比较,这正在阻止最终决定。

请帮助我提出您的观点和意见,并与我们分享您的经验,哪个更好以及为什么,以便我们做出完美的决定。

如果你愿意,也可以回复我@yogesh.golande@gmail.com。

谢谢。

【问题讨论】:

    标签: hibernate orm performance


    【解决方案1】:

    披露:我在支持 Hibernate 开发的公司 Red Hat 工作。

    我的简短回答:使用您的应用程序服务器捆绑的任何 JPA 提供程序。逻辑是您的 App Server 已在考虑该 JPA 提供程序的情况下进行了测试。

    长答案:您的答案中有些内容并不完全正确。所以,请允许我更正它们,并为其他项目提供一些 cmets。

    “Oracle 完全支持。Hibernate 没有。如果是 pb,证明它是纯 Weblogic 可能很麻烦。具体来说,我们必须证明它(浪费时间和复杂性)。”

    我会说 Red Hat 支持非常有帮助,他们不会试图说“这是一个 weblogic 问题”(除非确实如此)。支持人员没有接受过首先驳回您的要求的培训。如果这确实是 Hibernate 中的问题,他们会很快发现并解决它。

    我们目前依靠 Hibernate 来提供我们的旧产品,并且面临二级缓存 (JGroups) 中的 pb。今天,我们将结束这部分!结果是聚类方法的限制(性能)

    如果您有 JBoss 订阅(我相信任何订阅都提供对 Hibernate 支持的权利),您可以向 Red Hat 询问这个问题。但是我会说 Hibernate 和 JBoss Cache 已经过很好的测试,可以一起工作,而且它确实可以在集群环境中工作。但如果这是 JBoss Cache 的限制,您可以使用另一个(例如 Infinispan)。不确定它当前是否受支持,但您可以尝试一下。

    事实上,Hibernate 是开源的,所以你可以想象如何处理它。实际上,代码非常复杂,几乎不可能修改它。而且由于是 LGPL,你需要将所有修改的源系统地反馈给社区。​​p>

    Hibernate 确实很复杂,但大部分都不是那么复杂的。另外,IANAL,但我认为只有在重新分发“新”二进制文件时才需要反馈修改后的源代码。

    Hibernate 来自 JBoss 社区。​​p>

    我不明白为什么这是 EclipseLink 的重点,但请注意 JBoss 是 Red Hat 的一部分。虽然社区是独立的(如 Fedora),但 Red Hat 为其开发提供资金。

    【讨论】:

    • 感谢Partenon 的及时回复。首先我同意你的观点。这是我需要的帮助。考虑到我在上面的帖子中对 Hibernate 给出的观点,我的选择是 Hibernate(考虑到它是一种广泛使用的 ORM 工具,并且支持可用性)。
    • 但我想确认的是,即使 EclipseLink 是 Oracle 产品,因此我们应该将 Hibernate 与 Oracle DB 和 Weblogic 应用服务器结合使用,因此应该与 Oracle DB 和网络逻辑服务器?将 Hibernate 与 Oracle DB 或 Weblogic 应用服务器一起使用会导致任何问题(是否有任何此类已知问题)?
    • 我没有说你应该使用 Hibernate :-) 我认为你应该使用任何 JPA 提供程序捆绑在你的应用程序服务器中。在这种情况下,我认为您应该选择 EclipseLink。我不知道 Hibernate 和 WL 之间有任何问题,我可以说 Hibernate 已经过 Oracle DB(以及其他 DB)的测试和支持。
    【解决方案2】:

    毫无疑问,EclipseLinks 对 ORacle 有最好的支持,它是最适合 Oracle/WebLogic 使用的 ORM。 正如你所说,Oracle 完全支持它,它有很多非常有用的特性可以与 Oracle 一起工作,f.e. sql 提示等。在此处查看更多信息http://simpletoad.blogspot.com/2012/11/what-u-must-know-about-eclipselink-orm.html#links

    【讨论】:

    • 感谢您发布您的答案!请务必仔细阅读FAQ on Self-Promotion。另请注意,每次链接到自己的网站/产品时,都要求发布免责声明。
    猜你喜欢
    • 2013-10-13
    • 2018-04-26
    • 2021-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    相关资源
    最近更新 更多