@aboult escreveu:
Bom dia
Tenho uma relação OneToOne onde a PK do "filho" é a PK do "pai", até então a relação funcionava e estava dessa maneira:
Classe Pai:
@OneToOne(cascade = CascadeType.ALL, orphanRemoval = true) @PrimaryKeyJoinColumn(name = "id") private Cliente cliente;
Classe Filho:
@MapsId @OneToOne(fetch = FetchType.LAZY, mappedBy = "cliente", optional = false) @JoinColumn(name = "id") private Pessoa pessoa;
Mas estou tentando melhorar performance da aplicação e mudei o mapeamento da classe "pai" para:
@OneToOne(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY, optional = false) @PrimaryKeyJoinColumn(name = "id") private Cliente cliente;
Agora ao tentar gravar a classe Pai, ele tenta gravar o Filho, mas tenta gravar também a propriedade pessoa na classe Filho e ela está nula. E ocorre ConstraintViolationException.
Porque ele tenta persistir e como eu poderia corrigir isso?
Mensagens: 1
Participantes: 1