【问题标题】:Hibernate: memory issues? disadvantages?休眠:内存问题?缺点?
【发布时间】:2011-09-10 17:02:45
【问题描述】:

我正在使用 Hibernate 3.6,直到今天我都找不到使用它的任何缺点。但是今天有人告诉我,当项目变大时,使用 Hibernate 的应用程序会出现内存问题。发生这种情况是因为与不使用休眠的应用程序相比,需要创建和存储大量对象(hibernate-pojo-objects)。

是这样吗?使用休眠还有更多缺点吗?有些人还告诉我,由于对象之间的所有依赖关系,当数据库非常大时,使用对象会变得令人困惑,但我真的无法想象。有人有这方面的经验吗?

谢谢 :-)

【问题讨论】:

    标签: java database performance hibernate memory


    【解决方案1】:

    每当您添加抽象层时,它都必须做额外的工作并使用额外的内存来做到这一点。如果它使用额外的内存,您可能需要增加最大堆大小或购买额外的内存,这通常比开发人员的成本便宜,即使那些控制预算的人不这么认为。这可能仍然比它为您节省的开发时间要少。只有您可以决定这是否值得。

    【讨论】:

      【解决方案2】:

      其中一些是:

      • 很少或没有远程访问和分发能力。
      • 映射架构可能很乏味,而 O/R 映射有其技巧,例如使用延迟初始化、急切加载等。对一个人有效的方法可能对另一个人无效。
      • 集群功能有限。
      • 大型数据集仍会导致内存问题。
      • 仅支持数据库级别的安全性,不支持基于角色的安全性,无需添加任何 API,如面向方面编程等。

      其他一些人也认为有disadvantages 用于Hibernate。

      【讨论】:

        【解决方案3】:

        您可能会发现 PGCon 的这个演示很有趣:

        To ORM or not to ORM

        【讨论】:

          猜你喜欢
          • 2011-11-18
          • 1970-01-01
          • 1970-01-01
          • 2012-09-17
          • 2011-10-30
          • 1970-01-01
          相关资源
          最近更新 更多