温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Hibernate框架

发布时间:2020-08-13 15:59:04 来源:ITPUB博客 阅读:107 作者:山有木xi 栏目:编程语言

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级别的缓存,从应用启动到应用结束有效。是可选的,默认没有二级缓存,需要手动开启。保存数据库后,缓存在内存中保存一份,如果更新了数据库就要同步更新。

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

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

  • 基础被查询的数据

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

  • 不会被并发访问的数据

  • 常量数据

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI