Hibernate:内存问题?缺点是什么?

时间:2011-06-08 09:00:44

标签: java database performance hibernate memory

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

是正确的吗?还有使用休眠的缺点吗?有些人还告诉我,由于对象之间的所有依赖关系,当数据库真的很大时,使用对象会变得混乱,但我无法想象它。有没有人有这方面的经验?

谢谢: - )

3 个答案:

答案 0 :(得分:7)

其中一些是:

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

其他一些人也认为Hibernate有disadvantages

答案 1 :(得分:6)

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

答案 2 :(得分:3)

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

To ORM or not to ORM