Emiliano um exemplo para o uso de mappedBy seria também para um @OneToOne, imagine que temos uma classe Pessoa:
public class Pessoa {
// atributos
}
Porém também temos classes e tabelas no banco de dados separadas para salvar o Endereço e Documentos:
public class PessoaEndereco {
private Pessoa idpessoa;
// atributos
}
public class PessoaDocumento {
private Pessoa idpessoa;
// atributos
}
Porém queremos em apenas um formulário e uma requisição salvar nas 3 tabelas, para isso precisamos mapear um @OneToOne dentro da classe de Pessoa apontando para o Endereco e Documento:
public class Pessoa {
@OneToOne(cascade = CascadeType.ALL, mappedBy = "idpessoa")
private PessoaEndereco pesendereco;
@OneToOne(cascade = CascadeType.ALL, mappedBy = "idpessoa")
private PessoaDocumento pesdocumento;
// atributos
}
Ai dentro do formuário você pode por exemplo fazer:
<input name="pessoa.pesendereco.logradouro" value="${pessoa.pesendereco.logradouro}">
<input name="pessoa.pesdocumento.cpf" value="${pessoa.pesdocumento.cpf}">
Assim conseguira salvar nas três tabelas de uma unica vez.
Espero ter ajudado