fetch属性

本文详细介绍了ORM框架中fetch属性的三种设置方式:select、join和subselect,并对比了它们在查询过程中的不同表现,包括如何影响懒加载及具体执行的SQL语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

15、fetch属性

fetch的属性值有select(默认值)、join、subselect

当fetch=”select”时,程序会先查询返回要查询的主体对象,然后根据lazy属性看是否懒加载。

当fetch=”join”时,程序会将主体对象和关联对象用一句连接查询的sql同时查询出来,这样以来,懒加载就无用武之地了。

subselect和select一样,不会一开始就将关联对象查出来。

subselect与select的区别:

 

设置不执行懒加载;

select是根据关联外键的id,每一个对象发一个select查询,获取关联的对象。

执行的sql如下所示:

 

而subselect是发送两条sql语句,一条是查询主体对象,而另一条是抓取在前面查询到的所有实体对象的关联集合。

执行的sql如下所示:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值