Mapeamento

Estou utilizando o material do proprio hibernate para estudo, mais estou com algumas duvidas. Exemplo: Eu tenho duas classes Usuario e Mensagem. Com relacionamento one-to=many em Usuarios e many-to-one em Mensagens. Pelo que consta no material quando se tem um relacionamento bidirecional um dos lados tem que ser o dono do relacionamento. Esse dono é referenciado atraves da clausula mappedBy. No meu caso se acaso a classe Usuario possuir um mappedBy ele vai ser o dono? Ou o dono sera a classe do outro lado que no exemplo abaixo se chama Mensagem.Agora vem a duvida com base nesse codigo abaixo a respeito do mappedBy.

class Usuario {
  Long id;
  set<Mensagem> mensagens;

  @one-to-many(mappedBy="usuario", fetch=FetchType.LAZY)
  public Set<Mensagem> getMensagens(){
        return mensagens
  }

}

 class Mensagem {
   private Usuario usuario
  
   public Usuario getUsuario(){
        return usuario
   }

}

Com base nesse codigo o meu Usuario so vai ser persistido quando a classe Mensagem adcionar um Usuario?

Obrigado…