Hibernate 介绍
来源:互联网 发布:菲律宾网络博客靠谱吗 编辑:程序博客网 时间:2024/05/17 05:52
1.Hibernate是什么
Hibernate 持久层框架,是一个一个orm框架,对jdbc做了轻量级的对象封装,使得java程序员可以使用面向对象的思维来操作数据库。Hibernate可以应用于任何使用jdbc的场合。
为什么使用Hibernate
1.对jdbc访问数据库的代码做了封装,大大简化了数据访问层重复繁琐的代码
2.Hibernate是一个基于jdbc的主流持久化框架,是一个优秀的orm实现,它很大程度的简化了dao层编码工作
3.Hibernate使用java的反射机制,而不是字节码增强程序类实现透明性
4.Hibernate的性能非常好,因为它是一个轻量级框架。映射的灵活性很出色。它支持很多关系型数据库,从一对一到多对多的各种复杂关系
Hibernate CRUD
1.根据主键查询
get 和 load的不同
get 找不到对象时,抛出null; load找不到对象时,抛异常ObjectNotFoundException
返回的对象,get返回真实的对象,load返回对象
发送SQL的时机,load采用了懒加载技术,真正使用这个对象的时候,才发送sql;get是立即检索,执行session.get()方法时,立即发送SQL语句查询。
2.Hibernate 中持久化 对象的状态
Transient(瞬时态):持久化对象没有唯一标识OID,没有纳入Session管理
Persistent(持久化):有唯一标识OID,纳入Session管理
Detached(托管态):有唯一标识OID,没有被纳入Session管理
@Test // update方法:更新一条记录.将脱管对象转成持久对象 public void demo10(){ // 1.创建Session Session session = HibernateUtils.openSession(); // 2.开启事务 Transaction tx = session.beginTransaction(); Book book = new Book();//瞬时态. book.setId(1);// 脱管态 book.setName("MyBatis开发"); session.update(book);// 持久态. // 3.提交事务 tx.commit(); // 4.关闭资源 session.close(); }
Hibernate 缓存
什么是缓存:就是将某些经常使用的数据存储在内存中,当再次访问时,就不会去数据库中获取。
缓存的好处:
提升程序的运行效率,缓存技术是hibernate的一个优化手段。
hibernate分成两个级别的缓存:
一级缓存:与Session的生命周期相同,session close结束,以及缓存失效。
一级缓存的管理:
- HIBERNATE介绍
- hibernate 介绍
- Hibernate介绍
- Hibernate 介绍
- Hibernate介绍
- Hibernate 介绍
- Hibernate介绍
- hibernate介绍
- Hibernate介绍
- Hibernate介绍
- hibernate---->介绍
- Hibernate介绍
- Hibernate 介绍
- Hibernate介绍
- Hibernate 介绍
- Hibernate介绍
- hibernate介绍
- 【Hibernate】--Hibernate基础介绍
- 怎么比较两个json字符串完全相等
- leetcode:Binary Tree Preorder Traversal 先序遍历
- excle.分列.仅仅随笔
- c++内存泄露排查思路
- JavaScript中的DOM
- Hibernate 介绍
- 2017Google Codejam round2 Problem B. Roller Coaster Scheduling
- CodeForces 805AFake NP
- Selenium自动化测试框架和个人见解
- Python可迭代对象,迭代器,生成器的区别
- spring源码分析之-容器的基础XmlBeanFactory
- 【并发编程】线程通信与TheadLocal类
- 51nod 1449 砝码称重,贪心
- PAT (Advanced Level) Practise 1127 ZigZagging on a Tree (30)