Hibernate的优势?

use*_*949 4 c# java nhibernate hibernate

任何人都可以给我一个使用Hibernate的主要优点的要点?

Bin*_*mas 7

Hibernate使您可以相对轻松地开发可维护的数据访问层.

Hibernate是建立在JDBC之上的,所以显然它无法做任何普通JDBC无法做到的事情.Hibernate是一个很大的代码库; 如果使用纯JDBC构建自己的数据访问层,则需要编写更多代码才能匹配其功能.在简单的报告应用程序中,编写所需的数据访问层功能相对容易; 但随着应用程序变得越来越复杂,必须编写的代码量也会增加.让我举几个手工实现非常简单的例子,但是Hibernate开箱即用:

  1. 确保全球锁定采购订购
  2. 确定对象的哪些字段已更改并适当地定制查询(总是可能不是一个好主意)
  3. 灵活地在不同的用例中切换各种提取策略("这里我希望用户和地址一起加载,但在这里我只想要用户")

正如我之前所暗示的那样,手工实现这些并非不可能 - 毕竟,Hibernate是这样做的.但他们及时投入了大量资金.在许多(大多数?)应用程序中,专注于业务逻辑的复杂性将是开发人员时间的更好投资.

在另一个关于Hibernate性能的线程中查看我的评论.