博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hibernate简单入门教程(五)---------检索策略
阅读量:6780 次
发布时间:2019-06-26

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

hibernate作为一个持久化的插件具有非常丰富的特性功能。其中一个功能叫做检索策略。

检索策略意味着通过一定判断决定是否访问数据库。有时候可以有效的减少访问数据库的次数。

传统软件公司很多时候用不上。

其目的是减少内存消耗,减少数据库访问。

类检索策略:

  1,检索策略的使用方式在于load()方法调用,get,list方法属于立即检索,Sessionload()方法和Queryiterator()方法支持延迟检索策略,当被用到的时候才加载。

  2,检索办法分为立即查询与延时查询两种。立即查询与延时查询两种办法。区别在于延时查询属于用到了才会查询,用在关联类上,立即查询则是全部瞬间查询出来。

  3、通过<class>标签的lazy属性进行控制,如果为true就是延时加载,默认为true.

 

一对多多对多检索策略:

  1,通过<set>属性进行控制

  2, lazy增加一个强延时加载功能:extra:使用额外延迟加载,当程序第一次访问关联持久化对象的 size(), contains() isEmpty() 方法时,也不会整体查询数据库,而是采取更简单的方式查询。

  3,增加fetch:查询关联对象的方式。join/select (默认) / subselect。

    当fetch=lazy时查询方式是左外链接方式。这时候因为查询语句只有一条所以lazy无效。

    当fetch=select时查询方式正常。查询主表的时候只查询主表内容。查询方式为:select * from id=XX

    fetch=subselect情况下:主表信息按照类检索策略执行,查询方式为:select * from id in ( select # from ###)

    只有hql才支持fetch=subselect。

 

 

多对一、一对一检索策略 

    lazy:是否延迟加载,

    false:不使用延迟加载

    proxy:代理

    no-proxy:不使用代理模式。

    fetch:查询关联对象的方式。join/select (默认)

    proxy延迟加载策略一致类的加载策略默认是true。延时查询本来就是代理模式

 

 

转载于:https://www.cnblogs.com/blackdeng/p/7070610.html

你可能感兴趣的文章
蒲京博士为第七届环海南岛国际大帆船赛创造历史
查看>>
rh124-15(2)之桥接和NAT
查看>>
记一次负载均衡+NFS博客站点搭建的总结
查看>>
我不再像两年前那样勇敢
查看>>
ssh 的简介与使用
查看>>
计算机linux系统 第一课
查看>>
8月27日科技联播:滴滴5000亿上市计划或受影响,高德地图暂时下线顺风车业务...
查看>>
网站漏洞修复对phpmyadmin防止被入侵提权的解决办法
查看>>
十二周二次课
查看>>
Exchange 2013服务器常用的性能监视器
查看>>
详解linux运维工程师入门级必备技能
查看>>
dvi转vga接口图及相关接法
查看>>
大型网络初试题
查看>>
邮件系统5大绝招解决中毒难题!!!
查看>>
Linux共享库注入后门
查看>>
【SQL Server学习笔记】XML、分层、空间数据
查看>>
ElsticStake安装之Logstash6.4.0 安装(二)
查看>>
android 资源
查看>>
DB2 常用命令大全【转】
查看>>
XenServer安装最佳实践
查看>>