title: JPQL multiple left join with one class
body: <p>I have following problem with JPQL:
  One Class has three fields:</p>
  
  <pre><code>public class Message{
    Integer ownerId;
    Integer fromUserId;
    Integer toUserId;
    //rest of implementation
  }
  </code></pre>
  
  <p>then I want to search in the database by the user names, but we have 3 users attached to this Message: Owner, Recipient and Sender, so what I did in SQL is:</p>
  
  <pre><code>SELECT * FROM message m 
  LEFT JOIN user o ON m.owner_id=o.id 
  LEFT JOIN user fu ON m.from_user_id = fu.id
  LEFT JOIN user tu ON m.to_user_id = tu.id
  WHERE o.name like '%foo%' OR fu.name like '%foo%' OR tu.name like '%foo%';
  </code></pre>
  
  <p>Which is maybe not the fastest query, but works fine. Then I wanted to translate it to JPQL, but it's not easy. I get exception on 'on' token, I understand that JOIN is possible if the class has relation defined to another class, but here the relation is a bit complicated as we have 3 users related to one Message. Any ideas how to solve this?</p>