title: One to many JPA query without join clause
body: <p>Given two tables (scripts for SQL Server) with a one to many relationship:</p>
  
  <pre><code>CREATE TABLE address (
    id BIGINT IDENTITY (1, 1) NOT NULL,
    street VARCHAR(255),
    zip VARCHAR(32),
    city VARCHAR(255),  
    country VARCHAR(32),
  
    CONSTRAINT PK_address PRIMARY KEY NONCLUSTERED(id)
  );
  CREATE TABLE person (
    id BIGINT IDENTITY (1, 1) NOT NULL,
    address_id BIGINT NOT NULL,
    first_name VARCHAR(32),
    last_name VARCHAR(32),
  
    CONSTRAINT PK_person PRIMARY KEY NONCLUSTERED(id),
    CONSTRAINT FK_person_address FOREIGN KEY (address_id) REFERENCES address
  ); 
  </code></pre>
  
  <p>A person has exactly one address, but the same address can be linked to multiple different persons.</p>
  
  <p>There is also a Spring JPA repository with one explicit query:</p>
  
  <pre><code>@Repository
  public interface PersonJpaRepository extends JpaRepository&lt;Person, Long&gt; {
  
      List&lt;Person&gt; findByAddressId(Long addressId);
  }
  </code></pre>
  
  <p>Using Hibernate as JPA provider an SQL similar to this is generated for this find method:</p>
  
  <pre><code>select person0_.id, person0_.first_name, person0_.last_name
  from person person0_ 
  left outer join address address1_ on person0_.address_id=address1_.id 
  where person0_.address_id=?
  </code></pre>
  
  <p>As I am not interessted in any data from the <code>address</code> table and I know the <code>address_id</code> allready, there seems no real need for the join:</p>
  
  <pre><code>select person0_.id, person0_.first_name, person0_.last_name
  from person person0_ 
  where person0_.address_id=?
  </code></pre>
  
  <p>This query gives the same result.</p>
  
  <p>Is there anyway I can get JPA/Hibernate to produce the SQL without the join without defining the query explicitly through <code>@Query</code>?</p>