title: JPA query left join without loading the joined entity field
body: <p>I have 3 JPA entities such as:</p>
  
  <pre><code>@Entity
  public class Link implements  {
  
     @ManyToOne(fetch = FetchType.LAZY)
     @JoinColumn(name = "network", referencedColumnName = "id")
     private Network network;
     //...
  }
  
  @Entity
  public class Network implements LinkOwner {
      @OneToMany(mappedBy = "network")
      @Cascade(value = { CascadeType.ALL })
      private Set&lt;Link&gt;   links;
  
      @ManyToOne(fetch = FetchType.LAZY)
      @JoinColumn(name = "project", referencedColumnName = "id", nullable = false)
       private Project Network.project;
    //...
   }
  
  
  @Entity
  public class Project {
      @OneToMany(mappedBy = "project", orphanRemoval = true)
      @Cascade(value = { CascadeType.ALL })
      @Fetch(FetchMode.SELECT)
      private Set&lt;Network&gt;    networks;
   }
  </code></pre>
  
  <p>And I do a JPA query such as:</p>
  
  <pre><code>SELECT l FROM Link l left join fetch l.subnetwork sann   
  where sann.project.id = :projectId 
  </code></pre>
  
  <p>and it generates a SQL query similar to:</p>
  
  <pre><code>select * from RMT6.link, SUBNETWORK where link.subnetwork = SUBNETWORK.id 
  and SUBNETWORK.project=?
  </code></pre>
  
  <p>How can I trigger a JPQL query that selects only the fields of the first entity and exclude those of the second one?
  What do I need to change in my JPQL query?</p>