Hibernate 冬眠/日食?使用Weblogic和Oracle DB哪一个最好?

Hibernate 冬眠/日食?使用Weblogic和Oracle DB哪一个最好?,hibernate,orm,performance,Hibernate,Orm,Performance,在我的公司,我们使用的是Oracle DB和Weblogic应用服务器。因此,在升级或切换到新ORM的过程中,我们列出了两个选项——Hibernate和EclipseLink 我收集了以下关于这两个ORM的总结- 休眠: 当你需要培训员工时,就像我们下周要做的那样——大多数公司都有冬眠专家 当你雇佣新的开发人员时,他们中的大多数人都有特定的Hibernate体验 当你需要咨询专家时,无论是在互联网上还是在咨询师那里,你都有很多选择。关于Hibernate的论坛和社区层出不穷 Hibernate是

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

我收集了以下关于这两个ORM的总结-

休眠:

  • 当你需要培训员工时,就像我们下周要做的那样——大多数公司都有冬眠专家
  • 当你雇佣新的开发人员时,他们中的大多数人都有特定的Hibernate体验
  • 当你需要咨询专家时,无论是在互联网上还是在咨询师那里,你都有很多选择。关于Hibernate的论坛和社区层出不穷
  • Hibernate是一个开源软件,拥有一个庞大的社区。这意味着它将不断改进,并将推动ORM市场向前发展
  • Hibernate是一个开放源代码,这意味着您拥有要处理的代码,并且在需要的情况下,使其适合您的需要
  • Hibernate有很多插件,如验证工具、审计工具等。这些插件也成为标准插件,使您无法使用impl。你自己的事情
  • 使用ORM工具最重要的一点是,根据应用程序的需要对其进行配置。通常默认设置不适合您的需要。 因此,当市场对该工具的配置有着丰富的经验,并且有很多专家(见第1点和第3点)时,大多数情况下你会发现类似的案例和问题 关于如何配置工具以及如何配置应用程序的大量知识
  • 日食:

  • 完全由Oracle支持。Hibernate否。在pb的情况下,证明它是纯Weblogic可能会很麻烦。具体来说,我们必须证明这一点(浪费时间和复杂性)
  • Eclipse link由Oracle开发,是Weblogic/Oracle DB世界中首选的ORM
  • 即使在一定的时间里,EclipseLink和Hibernate(特征)相比有点晚了,EclipseLink进化得非常快,我们现在可以考虑它们之间的差距。
  • 只要您拥有Weblogic许可证,就无需支付额外费用。如果您需要Hibernate上的专业支持,您需要支付额外费用
  • 我们目前依靠Hibernate提供传统服务,并且在二级缓存(JGroups)中面临pb。今天,我们就从这一部分开始吧!。结果是聚类方法(perf)的局限性
  • 在EclipseLink方面,我们确实成功地通过集群方法管理了一级和二级缓存
  • 实际上,Hibernate是开源的,所以您可以想象如何处理它。实际上,代码非常复杂,几乎不可能对其进行修改。此外,由于是LGPL,您需要系统地向社区反馈所有修改过的源代码
  • Oracle针对Weblogic执行的所有测试都使用EclipseLink。此外,Oracle表示,为了管理Oracle数据库,已经进行了一些特定的优化
  • Hibernate来自JBoss社区
  • 目前,我们更喜欢Hibernate,但也存在一些问题/原因,如Oracle开发的EclipseLink和WebLogic/Oracle DB world中首选的ORM(ORM与DB和App.server的兼容性),支持与这两种ORM进行比较,这阻碍了最终的决策

    请帮助我提出您的观点和意见,并与我们分享您的经验,因为哪一个更好,为什么更好,这样我们才能做出完美的决定

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


    谢谢。

    披露:我在红帽公司工作,该公司支持Hibernate开发

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

    长句回答:你的回答中有一些不完全正确的地方。因此,请允许我更正它们,并对其他项目提出一些意见

    “完全由Oracle支持。Hibernate no.以pb为例,证明它是纯Weblogic可能会很麻烦。具体来说,我们必须证明它(浪费时间和复杂性)。”

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

    我们目前依靠Hibernate提供传统服务,并且在二级缓存(JGroups)中面临pb。今天,我们就从这一部分开始吧!。结果是聚类方法(perf)的局限性

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

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

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

    Hibernate来自JBoss社区


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

    防御EclipseLink对ORacle有最好的支持,是最适合ORacle/WebLogic使用的ORM。 正如您所说的,f.e.sql完全受Oracle支持,并且它有许多非常有用的特性用于与Oracle的协作