gpt4 book ai didi

java - Spring Data 'Left Join Fetch' 查询返回空值

转载 作者:搜寻专家 更新时间:2023-10-31 20:11:12 25 4
gpt4 key购买 nike

我的查询是这样的:

@Query("SELECT p FROM Pilot p LEFT JOIN FETCH p.playerShips WHERE p.nickname = (:nickname)")

到目前为止一切顺利。即使 playerShips 为空,我也会获取 Pilot 实例。
现在,我只想获取不活跃的船只,所以我将查询修改为如下所示:

@Query("SELECT p FROM Pilot p LEFT JOIN FETCH p.playerShips s WHERE p.nickname = (:nickname) AND s.active = false")

作为一名飞行员,我得到了 null,所以它显然不起作用。
如果有人能向我解释如何使用适用于子元素的 WHERE 子句创建 JOIN FETCH 查询,我会很高兴。提前致谢。

最佳答案

只需将其移至连接条件即可:

@Query("SELECT p FROM Pilot p LEFT JOIN FETCH p.playerShips s ON s.active = false WHERE p.nickname = (:nickname)")

ON 子句在 JPA 2.1 中定义

关于java - Spring Data 'Left Join Fetch' 查询返回空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27238354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com