谁能告诉我使用Hibernate的主要优点?
发布于 2010-11-12 08:47:14
Hibernate允许您相对轻松地开发可维护的数据访问层。
Hibernate构建在JDBC之上,因此显然它不能做普通JDBC不能做的任何事情。Hibernate是一个大型代码库;如果您正在使用普通JDBC构建自己的数据访问层,那么您将需要编写更多的代码来匹配它的特性。在简单的报表应用程序中,编写所需的数据访问层功能相对容易;但随着应用程序变得越来越复杂,需要编写的代码量也会增加。让我给你几个例子,这些例子很容易手工实现,但可以通过Hibernate来实现:
确保对象的哪些字段已更改的全局锁获取并适当地定制查询(可能不是一个好主意,以便在不同的用法中切换不同的获取策略(“这里我希望用户和地址一起加载,但这里我只希望用户”always)
正如我之前所暗示的,手动实现这些并不是不可能的-毕竟,Hibernate可以做到这一点。但它们在时间上需要大量的投资。在许多(大多数?)对于应用程序,专注于业务逻辑的复杂性将是开发人员时间的更好投资。
有关Hibernate性能的信息,请参阅我的comment in another thread。
发布于 2010-11-12 08:42:07
我发现,如果您的应用程序需要使用多个不同的数据库,它将非常有用。例如,Hibernate将使MySql数据库与Oracle的互换变得更加容易。
发布于 2010-11-12 08:24:31
更容易开发,但仅适用于简单的应用程序。
有关更多信息,请参阅How can I design a Java web application without an ORM and without embedded SQL中的答案。
https://stackoverflow.com/questions/4160545
复制相似问题