博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
020 <one-to-one>、<many-to-one>单端关联上的lazy(懒加载)属性
阅读量:7036 次
发布时间:2019-06-28

本文共 1305 字,大约阅读时间需要 4 分钟。

<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();

转载地址:http://vejal.baihongyu.com/

你可能感兴趣的文章
flex游戏编程性能优化
查看>>
美国诚实签经验——是不是户籍和常住作业地在一起?是不是有居住证?明白居住证信息吗?英语超卓,应变能力强,有幽默感 10分...
查看>>
VC++速记
查看>>
D3D中设备丢失的处理
查看>>
由鸣人的螺旋丸想到的
查看>>
Python牛刀小试(四)--代码解析(邮件发送功能)
查看>>
Sharing A Powerful Tool For Calculate Code Lines
查看>>
【循序渐进学Python】8.面向对象的核心——类型(下)
查看>>
一致性Hash
查看>>
过 DNF TP 驱动保护(一)
查看>>
错误 1 在应用程序级别之外使用注册为 allowDefinition='
查看>>
获取系统开机的时间(Windows、Linux)
查看>>
牛人博客网址
查看>>
(转载)Java日期格式化及其使用例子收集
查看>>
LeetCode:Pow(x, n)
查看>>
你所不知道的JavaScript数组
查看>>
[Android Pro] root用户删除文件提示:Operation not permitted
查看>>
strncpy 引起的思考,重新认识了strncpy这个函数【转】
查看>>
A Simple GPS Application Based on Microsoft.WindowsMobile.Samples.Location
查看>>
最简单的基于FFmpeg的AVDevice例子(读取摄像头)【转】
查看>>