LEFT JOIN ON () в JPQL

У меня есть две сущности:

  • Пользователь : id: long , имя: String
  • Player : id: long , владелец: User , points: 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 = ...

Но я не думаю, что предложение ON поддерживается в JPQL. Однако он мне нужен, потому что Пользователь не имеет ссылки на Player (многие вещи, кроме Player , могут быть прикреплены к пользователю ) . Как я могу решить эту проблему?

6
задан Bart van Heukelom 14 February 2011 в 13:42
поделиться