Spring数据jpa方法查询findWith

Spring data jpa method query findWith

最近,我遇到了这个 Spring Data JPA 存储库方法 findWithBooksById

涉及的两个类很基础:图书馆一对多Books,方法是查询图书馆和图书馆的图书

我查看了 https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#repositories.query-methods.details ,但没有提及此方法模式 (findWith...)。

查看生成的查询,它查询图书馆 table 并在之后立即查询图书。因此,连续调用两个查询,就像我在 findById 查询之后立即调用 getBooks 一样(在这种情况下是延迟初始化的书籍)。

有谁知道 findWith... 在 Spring Data JPA 中是如何工作的?

Does anyone know how "findWith..." works in Spring Data JPA?

没有。 使用的模式是 find...By....

第二个 select 可能是所用 JPA 实现的标准行为。 可能是 Books 被急切加载但无法在初始查询中加载,或者某些东西访问了它们并因此触发了延迟加载。 如果不了解 JPA 实现和涉及的模型 类,就无法分辨。