什么时候使用休眠?

Ram*_*amo 5 orm hibernate

我在一次采访中被问到这个问题,所以我回答如下:

- 更好的性能: - 高效的查询。- 一级和二级缓存。- 良好的缓存提供更好的可扩展性。- 良好的数据库可移植性: - 更改数据库就像更改方言配置一样简单。- 提高开发人员的生产力: - 只考虑对象术语而不是查询语言术语。

但我也觉得系统属于以下类别之一,而 Hibernate 可能不适合所有这些情况,我对您对此的想法很感兴趣,您同意我的看法吗?请让我知道在以下情况下何时使用 HB 以及为什么。

  • 只写系统:
  • 只读系统:
  • 主要编写系统:
  • 主要阅读系统:

问候拉莫

Ste*_*ger 1

Hibernate 适用于大多数具有面向对象模型的应用程序。所以你可能会问:什么时候适合使用面向对象模型?

我想说,最大的优势是开发人员的生产力。查询本身的性能通常比手工编码的查询更差,因为它无法针对每种特定情况进行优化。Hibernate 通过使用缓存很好地弥补了这一点。

只写(并且大多数)系统无法从缓存中充分利用,甚至可能会大大降低性能(您应该避免使用缓存)。这类系统通常不需要面向对象的模型,它们只是将数据推送到数据库中。