42、JPA 中的连接查询详解

JPA 中的连接查询详解

1. JPA 连接查询概述

JPA 提供了四种在查询中表达(内连接和外连接)的方式:
- 隐式关联连接:使用路径表达式。
- 普通连接:在 FROM 子句中使用连接运算符。
- 获取连接:在 FROM 子句中使用连接运算符和 FETCH 关键字进行立即获取。
- Theta 风格连接:在 WHERE 子句中使用。

下面将详细介绍这四种连接方式。

2. 隐式关联连接

在 JPA 查询中,无需显式指定连接条件,只需指定映射的 Java 类关联的名称。这就如同在 SQL 中使用外键约束名称来表达连接条件一样,是一种语法糖,使用起来更加方便。

2.1 示例

Bid 实体类和 Item 实体类的多对一关联为例, Bid 类中有一个名为 item 的多对一关联。在查询中引用该关联时,Hibernate 可以根据映射信息推导出连接表达式。

// JPQL 查询
select b from Bid b where b.item.name like 'Fo%'

// Criteria 查询
Root<Bid> b = criteria.from(Bid.class);
criteria.select(b).where(
    cb.l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值