JPQL 中的 LEFT JOIN ON()

2024-01-21

我有两个实体:

  • User: id:long, name:String
  • Player: id:long, owner:User,点:int

现在我想在一个 JPQL 查询中选择一个用户及其关联的玩家。在 SQL 中我会这样做:

SELECT u.*, p.* FROM User u
LEFT JOIN Player p ON (p.owner_id = u.id)
WHERE u.name = ...

我的第一反应是在 JPQL 中这样做

SELECT u, p FROM User u LEFT JOIN Player p ON (p.owner = u) WHERE u.name = ...

但我不认为ONJPQL 支持子句。不过我确实需要它,因为User没有参考Player(除此之外还有很多事情Player可以附加到User)。 我该如何解决这个问题?


你们的关系来自Player to User,因此您可以反转连接以跟随它:

SELECT u, p FROM Player p RIGHT JOIN p.owner u WHERE ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JPQL 中的 LEFT JOIN ON() 的相关文章

随机推荐