020 <one-to-one>、<many-to-one>单端关联上的lazy(懒加载)属性
<one-to-one>、<many-to-one>单端关联上,可以取值:false/proxy/noproxy(false/代理/不代理)
实例一:所有lazy属性默认(支持懒加载)
|
session = HibernateUtils.getSession(); tx = session.beginTransaction(); //不发出SQL语句,支持lazy(懒加载) User user = (User) session.load(User.class, 3); //发出SQL语句,只加载普通属性,集合中的数据不会加载 System.out.println("user.name=" + user.getName()); //不会发出SQL语句,只返回代理类 Group group = user.getGroup(); //发出SQL语句,因为现在真正使用对象 System.out.println("group.name=" + group.getName()); tx.commit(); |
实例二:将<many-to-one>中的lazy设置为false,其它默认
|
session = HibernateUtils.getSession(); tx = session.beginTransaction(); //不会发出SQL User user = (User) session.load(User.class, 3); //会发出SQL,发出两条SQL,分别是User和组 //因为<many-to-one>中的lazy=false,则会加载Group System.out.println("user.name=" + user.getName()); //不会发出,已经在上面加载了数据 Group group = user.getGroup(); //不会发出,已经在上面加载了数据 System.out.println("group.name=" + group.getName()); tx.commit(); |
实例三:将<class>中的lazy设置为false,其它默认
|
session = HibernateUtils.getSession(); tx = session.beginTransaction(); //会发出SQL,因为<class>中的lazy=false User user = (User) session.load(User.class, 3); //不会发出SQL,已经在上面加载了 System.out.println("user.name=" + user.getName()); //不会发出,因为<class>标签上的lazy只对普通属性的影响 //<class>标签上的lazy不会影响到单端关联上的lazy特性 Group group = user.getGroup(); //会发出,因为开始使用对象 System.out.println("group.name=" + group.getName()); tx.commit(); |
020 <one-to-one>、<many-to-one>单端关联上的lazy(懒加载)属性的更多相关文章
- webpack4 系列教程(四): 单页面解决方案--代码分割和懒加载
本节课讲解webpack4打包单页应用过程中的代码分割和代码懒加载.不同于多页面应用的提取公共代码,单页面的代码分割和懒加载不是通过webpack配置来实现的,而是通过webpack的写法和内置函数实 ...
- swift -- 单例+ lazy懒加载 + 第三方库
//工具类单例 static let goods : NHGoods = { let good = NHGoods() return good }() //懒加载 lazy var registerB ...
- vue项目中,单页图片过多,使用懒加载
最近做项目,一页图片很多,加载的时候效果很差. 通过学习借鉴其他大神的方法,使用了插件vue-lazyload,使用这个插件,界面更美观了,加载的效果好起来. 安装 npm i vue-lazyloa ...
- 【Spring源码分析】非懒加载的单例Bean初始化过程(上篇)
代码入口 上文[Spring源码分析]Bean加载流程概览,比较详细地分析了Spring上下文加载的代码入口,并且在AbstractApplicationContext的refresh方法中,点出了f ...
- 【Spring源码分析】非懒加载的单例Bean初始化过程(下篇)
doCreateBean方法 上文[Spring源码分析]非懒加载的单例Bean初始化过程(上篇),分析了单例的Bean初始化流程,并跟踪代码进入了主流程,看到了Bean是如何被实例化出来的.先贴一下 ...
- 【Spring源码分析】非懒加载的单例Bean初始化前后的一些操作
前言 之前两篇文章[Spring源码分析]非懒加载的单例Bean初始化过程(上篇)和[Spring源码分析]非懒加载的单例Bean初始化过程(下篇)比较详细地分析了非懒加载的单例Bean的初始化过程, ...
- 单例设计模式Singleton之懒加载模式(懒汉模式)【原】
单例设计模式Singleton之懒加载模式(懒汉模式) SingletonLazy.java类 package kingtool; import kingtool.http.IPTool; publi ...
- Spring源码分析:非懒加载的单例Bean初始化前后的一些操作
之前两篇文章Spring源码分析:非懒加载的单例Bean初始化过程(上)和Spring源码分析:非懒加载的单例Bean初始化过程(下)比较详细地分析了非懒加载的单例Bean的初始化过程,整个流程始于A ...
- Spring源码分析:非懒加载的单例Bean初始化过程(下)
上文Spring源码分析:非懒加载的单例Bean初始化过程(上),分析了单例的Bean初始化流程,并跟踪代码进入了主流程,看到了Bean是如何被实例化出来的.先贴一下AbstractAutowireC ...
随机推荐
- 1147: 零起点学算法54——Fibonacc
1147: 零起点学算法54--Fibonacc Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lldSubmitted: 20 ...
- C++迭代器 iterator【转】
1. 迭代器(iterator)是一中检查容器内元素并遍历元素的数据类型.(1) 每种容器类型都定义了自己的迭代器类型,如vector:vector<int>::iterator iter ...
- 【Tomcat源码学习】-2.容器管理
Tomcat作为应用服务器,我们可以理解Tomcat本身就是一个容器,用于装载应用,而作为容器本身是由若干组件以及事件构成,容器管理即为管理容器的有机组成部分. 一.Tomcat整体结构: Ser ...
- 【从无到有】教你使用animation做简单的动画效果
今天写写怎么用animation属性做一些简单的动画效果 在CSS选择器中,使用animition动画属性,调用声明好的关键帧 首先声明一个动画(关键帧): @keyframes name{ from ...
- python——杂货铺
三目运算: >>> 1 if 5>3 else 0 1 >>> 1 if 5<3 else 0 0 深浅拷贝: 一.数字和字符串 对于 数字 和 字符串 ...
- DirectFB的架构介绍
**************************************************************************************************** ...
- DirectFB 之 实例图像不断右移
/********************************************** * Author: younger.liucn@gmail.com * File name: imgro ...
- FrameBuffer系列 之 显示图片
摘自:http://blog.csdn.net/luxiaoxun/article/details/7622988 #include <unistd.h> #include < ...
- 通过bootloader向内核传输启动参数
作者:Younger Liu,本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化版本许可协议进行许可. Linux提供了一种通过bootloader向其传输启动参数的功能,内核开发者 ...
- Unity 多屏(分屏)显示,Muti_Display
Unity 多屏(分屏)显示,Muti_Display 最近项目有个需求,主要用于在展厅的展示游戏. 比如,在一个很大的展厅,很大的显示屏挂在墙上,我们不可能通过操作墙上那块显示器上的按钮来控制游戏 ...