ITPub博客

首页 > 应用开发 > Java > Hibernate框架

Hibernate框架

原创 Java 作者:山有木xi 时间:2020-04-20 15:59:18 0 删除 编辑

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库

Hibernate的优点

  • 对JDBC访问数据库的代码做了封装,非常简化了数据访问层繁琐的重复性代码

  • Hibernate是一个机遇JDBC的主流持久化框架,是一个非常优秀的 ORM实现。能够非常多大程度的简化DAO层的编码工具

  • Hibernate使用Java反射机制,而不是通过字节码增强程序来实现透明性

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

那么 什么是ORM框架

ORM,就是对象-关系映射,面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系型数据库更应用环境中永久存放数据的主流数据存储系统,对象和关系数据是业务的两种表现形式,因此ORM系统一般以中间件的形式存在,主要实现持续对象到关系型数据库数据的映射

Hibernate的工作原理

通过Configuration config = new Configuration().configure();//读取并解析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

Hibernate 的缓存机制

一级缓存就是  Session 级别的缓存,在事务范围内有效是,内置的不能被卸载。二级缓存是 SesionFactory级别的缓存,从应用启动到应用结束有效。是可选的,默认没有二级缓存,需要手动开启。保存数据库后,缓存在内存中保存一份,如果更新了数据库就要同步更新。

那么什么数据适合放在二级缓存呢

  • 较少被修改的数据,例如:帖子最后回复时间

  • 基础被查询的数据

  • 不是很重要的数据,允许出现偶尔并发的数据

  • 不会被并发访问的数据

  • 常量数据


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69917874/viewspace-2687219/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle OCA(Java),IBM高级工程师认证,中国软件行业人才(高级c语言),高级Android工程师,对数据库并发与性能调优也有一定了解

注册时间:2019-04-25

  • 博文量
    147
  • 访问量
    390787