- 5
- 0
- 约1.36万字
- 约 27页
- 2017-06-11 发布于湖北
- 举报
Query接口与查询缓存
” 如果十年前Sun没有做Java,人们便会写.Net程序,如果他们写.Net程序,他 们就是为windows写程序,而不是为Sun的设备写程序” ——Scott McNealy(Sun首席执行官) 第六课 Query接口与查询缓存 回 顾 1、缓存的物理位置是在内存还是在磁盘上,为什么? 2、一级缓存是否是线程安全的,为什么? 3、二级缓存是否是线程安全的,为什么? 4、一二级缓存中存储实体对象的键是什么? 5、缓存主要是提升下面哪个操作的性能( ) A、增加记录 B、删除记录 C、修改记录 D、查询记录 6、Hibernate为什么自带了一级缓存还要提供对第三方二级缓存的支持? 本课案例 完成查询缓存的配置和使用 本课目标 理解get/load方法的执行流程 理解Query接口的作用 掌握HQL与SQL语言概念及使用 掌握查询缓存的配置与使用条件 理解list/iterate方法的执行流程 get方法的执行流程 1、get方法执行流程: get方法根据用户给定的实体ID作为键首先检索缓存,缓存没有命中(即没有从缓存中检 索到实体对象)则根据映射配置是否延迟装载发起sql查询数据库来获取实体对象并缓 存查询到的实体对象,在返回的实体对象进一步调用getter方法取出属性(返回的是实体 对象或实体对象集合)时同样首先根据实体ID检查缓存,缓存没有命中再根据映射配置 是否延迟装载发起新的一轮sql查询数据库,并将新一轮装载的实体对象或实体对象集 合回填至缓存中 2、get方法执行时首先取缓存数据的事实,我们在上一张已经看到了,现在来看一个延迟和 立即装载的特征,User实体的映射中其Set集合属性映射的默认lazy=true,即默认为延迟 装载,如果将它的值改成false则为立即装载 注: 以下的实例以常见的一对多关系为例来说明get方法的立即装载与延迟装载,在此,省略数据库、表、实体类以及映射文件的创建过程 实体DAO层实现 public class UserDaoImpl implements IUserDao{ private SessionFactory factory; .........省略构造方法.............. public User addUser(User user) { Session session=factory.getCurrentSession(); Transaction tx=null; User user=null; try{ tx=session.beginTransaction(); user=(User)session.get(User.class, userId); System.out.println(“....call user getter....); SetOrder orders=user.getOrders(); Iterator its=orders.iterator(); mit(); }catch(Exception e){ if(null!=tx)tx.rollback(); e.printStackTrace(); } return user; } } 修改映射文件User.xml,在set标签中增加lazy=false ?xml version=1.0 encoding=UTF-8? !DOCTYPE hibernate-mapping PUBLIC -//Hibernate/Hibernate Mapping DTD 3.0//EN /hibernate-mapping-3.0.dtd hibernate-mapping package=“com.scxh.hit03.po” class name=User table=t_user id name=userId column=user_id type=long generator class=native“/ /id property name=userName column=user_name type=string/ property name=userPass column=user_pass type=string/ !—改变lazy的属性值为false(默认值为true),即非延迟装载-- set name=orders table=t_order cascade=“none inverse=t
您可能关注的文档
最近下载
- 文本讲义spaceclaim中文教程.pdf
- 生物技术在环保产业中的现状与前景探讨.docx VIP
- 道路交通安全法与相关知识考试题库(附答案).docx VIP
- 小学教育学教案 小学教育学教案(一).doc VIP
- 高中英语2026届高考常考点和常用写作金句(精选100句).doc VIP
- 生物技术革新在环境保护中的应用现状与挑战.docx VIP
- 《有限空间作业安全技术规范》(GB 46768—2025)宣贯与培训.pptx
- 井底的四只小青蛙.pptx VIP
- ZAT24000H763技术规格书V1.7版.pdf VIP
- DB5117T 120-2024《玄武岩纤维复合材料步道板加工及应用技术规范》.pdf VIP
原创力文档

文档评论(0)