Hibernate的工作原理是什么?为什么要用Hibernate?
2015-03-27 20:43
267 查看
(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中的<mapping resource="com/xx/user.hbm.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性能非常好,因为它是一个轻量级框架,映射的灵活性很出色,它支持各种关系数据库,从一对一到多对多的各种复杂关系。
在Hibernate中有两个特有的文件,一个是以.hbm.xml结尾的映射文件,一个是以.cfg.xml结尾的配置文件。.cfg.xml文件的作用是连接数据库,文件内部其实就是一个由user,password,url,driver组成的链接库的基本信息。.hbm.xml文件是对数据库中表的映射文件。
(2)Hibernate工作原理
①读取并解析hibernate.cfg.xml配置文件;
②由hibernate.cfg.xml中的<mapping resource="com/xx/user.hbm.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性能非常好,因为它是一个轻量级框架,映射的灵活性很出色,它支持各种关系数据库,从一对一到多对多的各种复杂关系。
相关文章推荐
- hibernate的工作原理以及为什么要使用hibernate
- Hibernate的工作原理以及为什么要用
- 什么是hibernate,hibernate的接口和工作原理
- Hibernate工作原理为什么要用
- hibernate的工作原理以及为什么使用
- 深入学习Hibernate4_01 Hibernate简介(是什么?为什么)
- 什么是hibernate懒加载?什么时候用懒加载?为什么要用懒加载?
- 什么是hibernate懒加载?什么时候用懒加载?为什么要用懒加载?
- 什么是hibernate懒加载?什么时候用懒加载?为什么要用懒加载?
- 什么是hibernate懒加载?什么时候用懒加载?为什么要用懒加载?(转)
- ssh hibernate struts spring 工作原理及为什么要用
- ssh hibernate struts spring 工作原理及为什么要用
- 什么是hibernate懒加载?什么时候用懒加载?为什么要用懒加载?
- Hibernate工作原理和为什么用,如何优化hibernate
- 什么是hibernate懒加载?什么时候用懒加载?为什么要用懒加载?
- 数据库学习--Hibernate方言(是什么 为什么 怎么办)
- Hibernate 工作原理及为什么要用
- 什么是hibernate懒加载?什么时候用懒加载?为什么要用懒加载?
- Hibernate工作原理为什么要用
- Hibernate工作原理、为什么要使用Hibernate,Hibernate的内部机制。