休眠/ EclipseLink的?哪个最适合Weblogic,Oracle DB?

时间:2010-12-17 06:05:43

标签: hibernate orm performance

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

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

休眠:

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

    1. Oracle完全支持。 Hibernate没有。在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,您需要系统地向社区反馈所有修改后的来源。
    8. Oracle针对Weblogic执行的所有测试都使用EclipseLink。此外,Oracle表示已经进行了一些特定的优化来管理Oracle数据库。
    9. Hibernate来自JBoss社区。

      现在我们更喜欢Hibernate,但有一些担忧/原因,比如Oracle开发的EclipseLink和Webogic / Oracle DB世界中的首选ORM(ORM与DB和App。服务器的兼容性),支持与ORM的比较,这些都在阻止最终决定。

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

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

      感谢。

2 个答案:

答案 0 :(得分:2)

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

我的简短回答:使用Application Server捆绑的任何JPA提供程序。逻辑是您的App Server在测试时考虑了该JPA提供程序。

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

  

“Oracle完全支持.Hibernate没有。在pb的情况下,证明它是一个纯粹的Weblogic可能很麻烦。具体来说,我们必须证明它(浪费时间和复杂性)。”

我认为红帽支持非常有用,他们不会试图说“这是一个weblogic问题”(除非确实如此)。支持人员没有接受过首先驳回你的索赔的培训。如果它确实是Hibernate中的一个问题,他们会很快找到它并解决它。

  

我们目前依赖Hibernate作为我们的遗留产品,并且正面临二级缓存(JGroups)中的pb。今天,我们正在离开这一部分!后果是聚类方法(性能)的限制

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

  

确实Hibernate是开源的,所以你可以想象处理它。实际上,代码非常复杂,几乎不可能对其进行修改。此外,由于它是LGPL,您需要系统地向社区反馈所有修改后的来源。

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

  

Hibernate来自JBoss社区。

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

答案 1 :(得分:0)

缺点EclipseLinks对ORacle提供最好的支持,它是最适合Oracle / WebLogic使用的ORM。 正如你所说的完全支持Oracle,它有许多非常有用的功能,可以与Oracle一起使用,例如: sql提示等。在此处查看更多http://simpletoad.blogspot.com/2012/11/what-u-must-know-about-eclipselink-orm.html#links