![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hibernate
∝ 1 颗心╮
Java
展开
-
JPA、ORM与Hibernate间的关系
ORM: ORM,即Object-Relationship Mapping,对象关系映射。它是一种解决问题的思路,是一种思想。它的实质就是将关系数据库中的业务数据用对象的形式表示出来,并通过面向对象的方式将这些对象组织起来,以实现系统业务逻辑。或者说,ORM就是内存中的对象与数据库中的数据间的映射关系。 JPA框架: JPA,Java Persistence API,是 Java EE ...原创 2018-11-24 09:23:17 · 277 阅读 · 1 评论 -
Hibernate部分AP详解
1.Configuration 接口 org.hibernate.cfg.Configuration 接口的作用是加载主配置文件及映射文件,以实现对Hibernate 的启动。 Configuration 实例的获取方式:Configuration cfg = new Configuration().configure(); (1)new Configuration() new Confi...原创 2018-11-24 14:26:15 · 102 阅读 · 0 评论 -
Hibernate的执行流程
Hibernate框架的工作流程 1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件。 2.由hibernate.cfg.xml中的<mapping resource="com/xx/User.hbm.xml"/>读取并解析映射信息。 3.通过config.buildSessionFactory();创建Sessi...原创 2018-11-23 14:39:54 · 442 阅读 · 0 评论 -
Hibernate使用Query接口的list()与iterate()进行查询区别
使用Query接口的list()与iterate()进行查询区别: 1、使用list(),会一次性将所有符合条件的记录查询出来;而使用iterate(),则首先会查询出所有符合条件的记录的 id,然后再根据这些 id 逐个查询出记录的具体内容. 2、使用 list(),不会使用缓存机制,即每执行一次查询代码,控制台均会执行一次 SQL查询语句;而使用 iterate(),则会使用缓存机制,只有...原创 2018-11-25 10:13:36 · 581 阅读 · 0 评论 -
Hibernate的关联关系映射
1、级联操作 级联操作是通过映射文件的 cascade 属性设置的。该属性的值较多,其介绍如下: none:在保存、更新或删除当前对象时,忽略其他关联的对象,即不使用级联。它是默认值。 save-update:当通过 Session 的 save()、update()、saveOrUpdate()方法来保存或更新当前对象时,将级联到其他 DB 中的相关联的表。 delete:当通过 Ses...原创 2018-11-25 11:03:27 · 106 阅读 · 0 评论 -
Hibernate检索优化
对对象进行检索的目的是为了将对象加载到内存,让程序使用其数据。所以,对象检索也称为对象加载。直接通过 get()、load()等查询语句加载的对象,称为主加载对象,而主加载对象所关联的对象,称为关联加载对象,或从加载对象。根据检索对象的不同,可以将检索优化分为两类:(1)当前对象检索优化 (2)关联对象检索优化 对于不使用优化进行对象检索的过程,称为直接加载;否则称为延迟加载,或懒加载。 1、...原创 2018-11-26 19:59:11 · 110 阅读 · 0 评论 -
Hibernate缓存机制
1、缓存范围分类 应用程序中根据缓存的范围,可将缓存分为三类: (1)事务范围缓存 事务范围缓存,即一级缓存,是单 Session 缓存。其只能被当前事务访问,每个事务都有各自的缓存。缓存的生命周期依赖于事务的生命周期:当事务结束时,缓存的生命周期也会结束。事务范围的缓存使用内存作为存储介质。 Hibernate 中的一级缓存就属于事务范围。 (2)应用范围缓存 应用范围缓存,即二级缓存...原创 2018-11-26 21:06:38 · 167 阅读 · 0 评论