Hibernate

  1. Hibernate的工作原理是什么?为什么要用hibernate?

(1)Hibernate可以理解为一个中间件。它负责把java程序的SQL语句接收过来并发送到数据库,而数据库返回的信息由Hibernate接收后直接生成一个对象传给java.

在Hibernate中有两个特有的文件,一个是以.hbm.xml结尾的映射文件,一个是以.cfg.xml结尾的配置文件。.cfg.xml文件的作用是连接数据库,文件内部其实就是一个由user,password,url,driver组成的链接库的基本信息。.hbm.xml文件是对数据库中表的映射文件。

(2)Hibernate工作原理

①读取并解析hibernate.cfg.xml配置文件;

②由hibernate.cfg.xml中的读取并解析映射信息;

③.通过SessionFactory sf = config.buildSessionFactory();创建SessionFactory

④Session session = sf.openSession();//打开Sesssion

⑤Transaction tx = session.beginTransaction();//创建并启动事务Transation

⑥persistent operate操作数据,持久化操作

⑦tx.commit();//提交事务

⑧关闭Session

⑨关闭SesstionFactory

3)使用Hibernate的原因如下:

① 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。

②HIbernate是基于JDBC的主流持久化框架,是一个优秀的对象关系映射实现,它在很大程度上简化了DAO层的编码工作;

③Hibernate使用java反射机制,而不是字节码增强程序来实现透明性;

④Hibernate性能非常好,因为它是一个轻量级框架,映射的灵活性很出色,它支持各种关系数据库,从一对一到多对多的各种复杂关系。

为什么要持久化? 持久化技术封装了数据访问细节,为大部分业务逻辑提供面向对象的API。 ● 通过持久化技术可以减少访问数据库数据次数,增加应用程序执行速度; ● 代码重用性高,能够完成大部分数据库操作; ● 松散耦合,使持久化不依赖于底层数据库和上层业务逻辑实现,更换数据库时只需修改配置文件而不用修改代码。