title: What is proxy in the context of load() method of Hibernate?
body: <p>The Hibernate documentation for the <a href="http://docs.jboss.org/hibernate/orm/3.6/reference/en-US/html/objectstate.html#objectstate-loading" rel="noreferrer"><code>load()</code></a> method says:</p>
  
  <blockquote>
    <p>Be aware that load() will throw an unrecoverable exception if there is
    no matching database row. <strong>If the class is mapped with a proxy</strong>, load()
    just returns an uninitialized proxy and does not actually hit the
    database until you invoke a method of the proxy. <strong>This is useful if you
    wish to create an association to an object without actually loading it
    from the database. It also allows multiple instances to be loaded as a
    batch if batch-size is defined for the class mapping.</strong></p>
  </blockquote>
  
  <p>Please help me to understand this by explaining the meaning of the parts highlighted above in <strong>bold</strong>.</p>