hibernate学习(八)
创始人
2024-06-03 01:11:11

HQL的多表查询:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

二、hibernate查询方式:SQL查询:
在这里插入图片描述

在这里插入图片描述

三、hibernate抓取策略(优化):

在这里插入图片描述
在这里插入图片描述

1、类级别的延迟加载:
如果lazy=“true”,那么延迟加载就会失效,就采用get方法,而不是load方法。
在这里插入图片描述
在这里插入图片描述

注:class上的lazy只对普通属性有效,对关联级别无效。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

抓取策略往往会和关联级别的延迟加载一起使用,优化语句

在这里插入图片描述
四、< set >上的配置

在这里插入图片描述

1.默认值:先查客户,再查联系人
在这里插入图片描述
在这里插入图片描述

2.设置lazy=“false”,那么两条消息就一起发送,就不会延迟
在这里插入图片描述

3.非常懒,要什么就给什么,要查询联系人的个数,就返回一个数字10,直接调用count,不直接查询所有了。
在这里插入图片描述

4.fetch=join时,那么lazy失效,只发送一条语句,直接获取左外连接
在这里插入图片描述
在这里插入图片描述
5.fetch=“subselect” 时。
in里面的语句是子查询
在这里插入图片描述
在这里插入图片描述
6.lazy=false时。
在这里插入图片描述
在实际开发中,一般都采用默认值。如有特殊的需求(如果要查询一个班级,班级的学生都需要显示的时候)那么就可能需要配置join

五、< many-to-one >上面的配置:
在这里插入图片描述

1.默认值:
在这里插入图片描述
2.lazy=false情况
在这里插入图片描述
3.fetch=join,lazy失效情况
在这里插入图片描述
4.proxy取值取决于另一端< class >上的值
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在实际开发中,一般都采用默认值。如有特殊的需求(如果要查询一个班级,班级的学生都需要显示的时候)那么就可能需要配置join
面试当中会问道:说怎么进行程序的优化啊? 可以聊聊一级缓存,或者对语句进行优化,在set上配置fetch啊,在many-to-one 进行配置fetch啊,进行优化。如果说我查联系人直接把客户都给查了,那么配置join就行了,只发一条语句就能解决问题

六、批量抓取

在这里插入图片描述

1.批量抓取配置:一共就4个客户
获取客户,批量抓取联系人
在这里插入图片描述
在这里插入图片描述

2.获取联系人,批量抓取客户
在这里插入图片描述
在这里插入图片描述

相关内容

热门资讯

中美探月、滴血测癌……《自然》...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! (来源:文汇报)国际...
纽约期金涨超0.6%,一度刷新... 格隆汇1月15日|周三(1月14日)纽约尾盘,现货黄金涨0.69%,报4618.07美元/盎司,亚太...
政府采购促进绿色低碳发展 国道、省道、县道、乡道等各级公路的施工和运营有望更加绿色低碳。 财政部、交通运输部近期联合发文,部署...
大宗商品综述:特朗普讲话拖累油...   原油周三在常规时段上涨之后盘后下跌,特朗普的讲话表明美国或许会暂缓对伊朗镇压抗议示威采取行动。金...
卖了房子养鸡去 转自:贵州日报 本报讯(记者 陈丹)1月13日,钱伟平踏上了回老家河南郑州的路途,这次回去,是为了卖...