Quantcast
Channel: Programação - GUJ
Viewing all articles
Browse latest Browse all 33093

ConstraintViolationException usando @OneToOne fetch = Lazy

$
0
0

@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

Ler tópico completo


Viewing all articles
Browse latest Browse all 33093


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>