何时使用Hibernate?

5
我在面试中被问到以下问题,我回答如下:
- 更好的性能: - 高效的查询。 - 一级和二级缓存。 - 良好的缓存提供更好的可扩展性。 - 良好的数据库可移植性: - 更改数据库的操作与更改方言配置一样简单。 - 增加开发人员的生产力: - 只需考虑对象术语而不是查询语言术语。
但我也觉得系统可以分为以下几类,Hibernate可能并不适用于所有这些情况,我对此很感兴趣,您是否同意我的看法?请告诉我何时会在以下情况下使用Hibernate以及为什么。
- 写入系统: - 只读系统: - 大多数写入系统: - 大多数只读系统:
谢谢, Ramo
1个回答

1

Hibernate适用于大多数具有面向对象模型的应用程序。因此,您可能会问:何时使用面向对象模型是合适的?

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

只写(主要)系统无法从缓存中获得太多优势,甚至可能大大降低性能(应避免使用缓存)。这些类型的系统通常不需要面向对象模型,它们只是将数据推送到数据库中。


是的,我同意你关于查询不够高效的观点,所以我纠正了自己对此的理解。关于我问题的第二部分,我猜你的意思是只编写/主要编写系统的话,并不适合使用HB,因为它们不需要面向对象模型。我必须说,我没有考虑到这一点,所以感谢你的见解。 - Ramo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接