首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate ORM框架与JDBC Pros和Cons

Hibernate ORM框架与JDBC Pros和Cons
EN

Stack Overflow用户
提问于 2016-03-12 07:34:01
回答 1查看 10.2K关注 0票数 2

我使用JDBC ()已经很长时间了,在我的个人和web应用程序中。现在,我的高年级学生要求我使用Hibernate框架而不是JDBC,原因如下。

  • 通过使用JDBC,当开发人员完成工作时,资源泄漏和数据不一致就会发生。
  • 难以实现MVC概念
  • 无封装
  • 大型编程开销
  • 查询是特定于DBMS的

这些因素是真的吗?还有更多的因素支持这一点吗?

为什么我们应该使用Hibernate而不是JDBC呢?请帮我提一下你的想法。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-12 11:07:53

通过使用JDBC,在开发人员完成工作时会发生资源泄漏和数据不一致。

False.

  1. 开发人员也使用hibernate完成了工作。
  2. 如果您的意思是,资源泄漏是由于手工Connection/(Prepared)Statement/ResultSet处理的重复代码而发生的,那么有很多JDBC框架可以帮您做到这一点。
  3. 如果您不正确地使用Hibernate,数据不一致也会发生。例如,您指示Hibernate从数据库中删除某些内容,但是it ignored it,因为persist操作是级联到被删除的实体的。现在数据库中有一个不一致的状态。

难以实现MVC概念

部分正确。实体确实帮助编写MVC模型的一部分要容易得多。

无封装

部分正确。实际上,映射信息只能在实体中指定,并在涉及实体的所有用例中被自动(或多或少)透明地重用。

大型编程开销

绝对正确。基本上是一种框架,在应用程序中持久性层变得太复杂时,您迟早会自己编写这些框架。根据我的经验,即使在中等大小的应用程序中,手动编写的持久性框架也是应用程序中最复杂的部分。

查询是特定于DBMS的

True.虽然在用例中使用本机查询并没有错,但当HQL不适合该作业时。

还有更多的因素支持这一点吗?

关于这方面的其他问题:

Pros and Cons of Hibernate

Weaknesses of Hibernate

Hibernate or JDBC

JDBC VS Hibernate

Use Hibernate or not?

还有数以百计的博客和论坛主题关于这个主题,你会很快找到他们与您的首选网络搜索引擎。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35955020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档