使用 OneToOne 或 OneToMany 在 JPA 存储库中获取加入不工作

Fetch Join not working in JPA Repository with OneToOne or OneToMany

实体 A 与实体 B.Created 一对一映射 EntityARepository 并将 find() 与实体 A 一起使用。(预加载)

当我 sql 输出时,它显示了两个 select 语句,但它应该是单个 select 加入 query.This 可以通过编写 JPQL 来实现。但我想知道是否可以使用 JPARepository 方法。

据我所知,JPA 规范不允许您在实体级别选择提取策略,默认情况下该策略是 "select",这意味着对于每次提取都会有一个新查询。 您正在寻找 "join" 策略。 如果您使用的是 Hibernate,则可以使用 @Fetch(FetchMode.JOIN) 来指定策略。