title: Hibernate XML Mapping: Lazy False or Fetch Select?
body: <p>I have a simple question. I found this Hibernate config on our project:</p>
  
  <pre><code>&lt;many-to-one name="employee" 
      class="com.myapp.Employee"
      cascade="merge"
      lazy="false"
      fetch="select"&gt;
  &lt;column name="employee_id"
       sql-type="bigint" 
       not-null="true"/&gt;
  &lt;/many-to-one&gt;
  </code></pre>
  
  <p>Doesn't <strong>fetch="select"</strong> mean "Lazy load all the collections and entities" based on <a href="http://www.mkyong.com/hibernate/hibernate-fetching-strategies-examples/" rel="noreferrer">Fetching Strategies</a>. But by writing <strong>lazy="false"</strong> mean do not lazy load. So the config above says: "Disable lazy loading. Enable lazy loading." In effect, this means the property is lazy loaded?</p>
  
  <p>So I could shorten that config as:</p>
  
  <pre><code>&lt;many-to-one name="employee" 
      class="com.myapp.Employee"
      cascade="merge"
      fetch="select"&gt;
  &lt;column name="employee_id"
       sql-type="bigint" 
       not-null="true"/&gt;
  &lt;/many-to-one&gt;
  </code></pre>
  
  <p>But isn't <strong>fetch="select"</strong> the default mode? So in effect, I can declare the same config as:</p>
  
  <pre><code>&lt;many-to-one name="employee" 
      class="com.myapp.Employee"
      cascade="merge"&gt;
  &lt;column name="employee_id"
       sql-type="bigint" 
       not-null="true"/&gt;
  &lt;/many-to-one&gt;
  </code></pre>
  
  <p>Am I correct? Wrong? Ideas? Thanks</p>
  
  <p>If I want to enable lazy loading, I must add <strong>lazy="true"</strong> and remove <strong>lazy="false"</strong>?</p>