title: grails hasOne vs direct member variable
body: <p>Let's say I have a grails domain class that looks like</p>
  
  <pre><code>class Person {
      Address address
  }
  </code></pre>
  
  <p>I could also declare it as</p>
  
  <pre><code>class Person {
    static hasOne = [address:Address]
  }
  </code></pre>
  
  <p>The second way would move the foreign key to the Address table rather than the person table.</p>
  
  <p>What are the practical benefits (or disadvantages) of doing this one way vs the other? As far as I understand, they will both use foreign keys, it's just a matter of where the foreign key lives.</p>