grails hasOne vs variável de membro direto

Digamos que eu tenha uma classe de domínio grails que se parece com

class Person {
    Address address
}

Eu também poderia declará-lo como

class Person {
  static hasOne = [address:Address]
}

A segunda maneira seria mover a chave estrangeira para a tabela Address em vez da tabela person.

Quais são os benefícios (ou desvantagens) práticas de se fazer isso de um jeito contra o outro? Tanto quanto eu entendo, ambos usarão chaves estrangeiras, é apenas uma questão de onde a chave estrangeira vive.

questionAnswers(4)

yourAnswerToTheQuestion