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 ...
随机推荐
- Angular4.0.0发布总览文章
翻译自angular.io上的关于4.0.0版本发布的文章,内容主要是介绍了4.0.0版本下的改进以及接下来还会有的其他更新,4.0.0其实已经出来好多天了,截止目前都已经到了4.0.1版本了,这也是 ...
- ViewPager—01引导页的制作
布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:t ...
- Yum -userguide
Introduction Yum(Yellow dog Updater, Modified) is an automatic updater and package installer/remover ...
- Twitter数据抓取的方法(一)
Scraping Tweets Directly from Twitters Search Page – Part 1 Published January 8, 2015 EDIT – Since I ...
- require.js疑惑
昨天小颖分享了一篇require.js入门 ,今天小颖发现了一个很郁闷的问题,希望大神们帮小颖解释下到底是什么原理才能出现以下的现象,其实小颖昨天也有问过园友里的一位帅锅,只是他解释的小颖没太明白.嘻 ...
- sql解析xml
我们有时候需要在sql中解析xml,xml解析sql实例如下: DECLARE @params xml DECLARE @customparams xml = null -- 0.解析输入参数 ...
- Asp .net core api+Entity Framework 实现数据的存取到数据库中
最近在学dotNetCore 所以尝试了一下api 这个功能 不多说了大致实现如下 1.用vs2017建立一个Asp.net Core Web 应用程序 在弹出的对话框中选择 Web API 项目名 ...
- JS中的循环嵌套 BOM函数
[嵌套循环特点] 外层循环转一次,内层循环转一圈 外层循环控制行数,内层循环控制每行元素个数 [做 ...
- JS中的几种函数
函数可以说是js中最具特色的地方,在这里我将分享一下有关函数的相关知识: 包装函数: (function foo(){...})作为函数表达式意味着foo只能在...所代表的位置中被访问 ...
- html php javascript 页面跳转
<!-- html标签跳转 --><meta http-equiv="refresh" content="3;url=http://localhost/ ...