Hibernate学习---检索优化】的更多相关文章

Hibernate框架对检索进行了优化,前面我们将CURD的时候提到了load和get的区别,当时仅仅说了load为延迟加载,get为立即加载,当检索的记录为空的时候load报错(不是在执行load方法的时候报的错,是执行后面的操作报的错),get返回null. 其实load就是对检索的一种优化,它的作用是当程序执行检索代码的时候,在缓存中没有的前提下,不会立即去数据库中查询,而是等真正用到的时候才会去查询,这是一种懒加载策略. 下面我们要讲的内容有: 当前对象的检索优化 关联对象的检索优化 当…
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------…
前言:这些天学习效率比较慢,可能是手头的事情比较多,所以学习进度比较慢. 在之前的Hibernate学习中,我们无论是CURD,对单表查询还是检索优化,我们好像都离不开session,session我们之间也简单的说过,它是一个缓存,这一篇文章就就Hibernate的缓存进行一些介绍,我们将从以下几点进行: 缓存的分类 一级缓存 快照 二级缓存 EHCache配置 二级缓存内容配置 总结 一丶缓存的分类: Hibernate中缓存分为一级缓存和二级缓存,像我们之前经常用到的session是一级缓…
2016/4/22 23:19:44 Hibernate学习笔记(二) 1.1 Hibernate的持久化类状态 1.1.1 Hibernate的持久化类状态 持久化:就是一个实体类与数据库表建立了映射. 瞬时态 transisent:(临时态) 持久态 persistent 脱管态 detached:(离线态) 1.1.2 三种持久化对象的状态 Transient瞬时态:持久化对象没有唯一标识OID.没有纳入Session的管理. Persistent持久态:持久化对象有唯一标识OID.已经纳…
2016/4/18 19:58:58 Hibernate学习笔记(一) 1.Hibernate框架的概述: 就是一个持久层的ORM框架. ORM:对象关系映射.将Java中实体对象与关系型数据库中表建立一种关系.Hibernate中可以通过操作对象的方式,从而操作数据库的表. 常见的持久层框架: Hibernate MyBatis JPA DBUtils Hibernate3.x和Hibernate4.x 2.Hibernate快速入门: 2.1 下载Hibernate开发包. http://s…
1. Hibernate 的检索方式有哪些 ? ① 导航对象图检索 ② OID检索 ③ HQL检索 ④ QBC检索 ⑤ 本地SQL检索 2. 在 Hibernate 中 Java 对象的状态有哪些 ? ①. 临时状态(transient):不处于 Session 的缓存中,OID 为 null 或等于 id 的 unsaved-value 属性值 ②. 持久化状态(persistent):加入到 Session 的缓存中. ③. 游离状态(detached):已经被持久化,但不再处于 Sessi…
五.映射一对多关联关系 1. 单向多对一 即 单向 n-1 1)单向 n-1 关联只需从 n 的一端可以访问 1 的一端 ① 域模型: 从 Order 到 Customer 的多对一单向关联需要在Order 类中定义一个 Customer 属性, 而在 Customer 类中无需定义存放 Order 对象的集合属性 ② 关系数据模型:ORDERS 表中的 CUSTOMER_ID 参照 CUSTOMER 表的主键 (多的那一端的数据表需要加上 s,否则建表不成功) 2)使用 many-to-one…
Hibernate检索优化: 检索即查询.为了减轻DB的访问压力,提高检索效率,Hibernate对检索进行了优化. 所谓检索优化,指的是对查询语句的执行时机进行了细致.严格的把控:并不是代码中一出现查询语句,马上就在后台调用执行select语句.而是在代码中真正需要时才执行select.即将select的执行进行了最大可能的“延迟”. 对对象进行检索的目的是为了将对象加载到内存,让程序使用其数据.所以,对象检索也称为对象加载.根据检索对象的不同,可以将检索优化分为两类:  (1)当前对象检索优…
昨天讲了Hibernate开发环境的搭建以及实现一个Hibernate的基础示例,但是你会发现运行输出只有sql语句,很多输出信息都看不见.这是因为用到的是slf4j-nop-1.6.1.jar的实现,这是slf4j自己的实现,但用的并不多,但是我们可以使用slf4j的接口对上log4j的实现,当然也可以对上其它的log实现.那么,我就在昨天Hello_World上搭建一个log4j的日志环境. 一.SLF4J简介 SLJ4F(Simple Logging Facade for Java)简单日…
Hibernate的检索方式 检索方式(查询的方式) 导航对象图检索方式: 根据已经加载的对象导航到其他对象 Customer customer = (Customer)session.get(Customer.class,1); customer.getOrders();// 获得到客户的订单 OID 检索方式: 按照对象的 OID 来检索对象 get()/load();方法进行检索. HQL 检索方式: 使用面向对象的 HQL 查询语言 Query query = session.creat…