请说说你对Hibernat的理解?JDBC和Hibernate各有什么优势和劣势?

Posted 咔啡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请说说你对Hibernat的理解?JDBC和Hibernate各有什么优势和劣势?相关的知识,希望对你有一定的参考价值。

Hibernate是一个轻量级的持久层开源框架,它是连接Java应用程序和关系数据库的中间件,负责Java对象和关系数据之间的映射.Hibernate内部对JDBC API进行了封装,负责Java对象的持久化.因为它封装了所有的数据访问细节,使得业务逻辑层可以专注于实现业务逻辑.

它是一种优秀的ORM映射工具,提供了完善的对象关系映射服务,开发过程不依赖容器,灵活性非常大,可以无缝集成到任何一个java系统中.

 

JDBCHibernate都是用于数据持久化操作的

JDBC:

1.实现业务逻辑的代码和访问数据库的代码混杂在一起,使程序结构不清晰,可读性差.

2.Java是面向对象的,sql是面向关系的.两者混在一起,程序员不能完全的运用面向对象的思维来编写程序.

3.业务逻辑和关系数据模型绑定,如果关系数据模型发生变化(如更改表结构),就必须手动修改程序里所有相关的sql语句,增加了维护软件的难度.如果sql语句有语法错误,编译是不能检查这种错误,只有运行时才能发现错误,增加了程序的调试难度.

   4.数据库移植困难

 Hibernate:

   Hibernate是一个开放源代码的对象关系映射框架它对JDBC进行了非常轻量级的对象封装使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库

以上是关于请说说你对Hibernat的理解?JDBC和Hibernate各有什么优势和劣势?的主要内容,如果未能解决你的问题,请参考以下文章

面试官:说说你对Mybatis 中xml和注解映射的理解

[react] 请说说你对react的render方法的理解

[ECMAScript] 说说你对class的理解

[react] 说说你对声明式编程的理解?

[react] 说说你对声明式编程的理解?

你知道vue中key的作用和工作原理吗?说说你对它的理解。