Hibernate介绍

1.介绍

        Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了轻量级的对象封装,使 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。它不仅提供了从 Java 类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用 JDBC 和 SQL 来手工操作数据库,Hibernate 可以大大减少操作数据库的工作量。 另外 Hibernate 可以利用代理模式来简化载入类的过程,这将大大减少利用Hibernate 从数据库提取数据的代码的编写量,从而节约开发时间和开发成本 Hibernate 可以和多种Web 服务器或者应用服务器良好集成,如今已经支持几乎所有的流行的数据库服务器。

2.原理

2.1.原理图

 Hibernate原理图

2.2 核心接口以及功能

        1.Configuration接口 :负责配置并启动hibernate 加载配置类 xml

        2.SessionFactory接口 : 负责初始化hibernate,负责 session 实例创建 

        3.Session接口 : 负责持久化对象的CRUD操作 ,这里 session 是应用和数据库的访问会话,不与 Web 的 session 混淆,负责访问数据库操作

        4.Transaction接口 : 负责事务 (提交和回滚)

        5.Query接口和Criteria接口 : 负责执行各种数据库查询 

2.3 工作原理

        1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件

        2.由hibernate.cfg.xml中的<mappingresource="com/xx/User.hbm.xml"/>读取并解析映射信息

        3.通过config.buildSessionFactory();//创建SessionFactory

        4.sessionFactory.openSession();//打开Sesssion

        5.session.beginTransaction();//创建事务Transation

        6.persistent operate持久化操作 //一般指Save这个方法

        7.session.getTransaction().commit();//提交事务

        8.关闭Session

        9.关闭SesstionFactory

2.4 Hibernate 优点

        1.对 JDBC访问数据库代码做了封装,降低了数据访问层代码耦合

        2.Hibernate 是基于 JDBC的主流持久化框架,是一个优秀的关系映射实现,很大程度上减少了 DAO 层编码工作

        3.Hibernate 使用 JAVA 反射机制

        4.Hibernate 性能非常好,是一个轻量级框架,拥有灵活的关系映射,支持大多数关系数据库,从一对一到多对多的各种复杂关系

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Hibernate简介 因为传统的操纵JDBC太繁琐了,首先要加载驱动类,然后从DriverManager中...
    pr0metheus阅读 4,520评论 0 0
  • Hibernate: 一个持久化框架 一个ORM框架 加载:根据特定的OID,把一个对象从数据库加载到内存中OID...
    JHMichael阅读 6,070评论 0 27
  • 本文包括: 1、CRM 项目的整体介绍 2、Hibernate 框架概述 3、Hibernate 快速入门 4、H...
    廖少少阅读 8,746评论 9 66
  • Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库...
    兰缘小妖阅读 4,937评论 1 18
  • 不懂珍惜,给你座金山也不会快乐! 不懂宽容,再多的朋友也终将离去! 不懂感恩,再优秀也难以成功! 不懂行动,再聪明...
    健造师阅读 1,202评论 0 0

友情链接更多精彩内容