Estou precisando realizar um cadastro simples
onde um relacionamento bidirecional 1xN precise realizar um
CRUD.
Na minha primeira tentativa realizei um cascade na Entidade do lado 1
que contem a lista utilizando o JPA
@OneToMany(mappedBy="aquisicao", cascade = CascadeType.ALL)
private List<AquisicaoIR> aquisicaoirlista;
Utilizei o ALL pq preciso tanto incluir, atualizar, excluir e ler as informações da Entidade N
mas quando preenchi o objeto da entidade 1 e a lista
quando fui realizar o cadastro os dados da lista foi persistido mas a chave da entidade 1
foi no valor null.
Ae para resolver eu mudei o cascade para REMOVE para apenas realizar a opção de remover
e para cadastrar coloque o cascade no lado da Entidade N
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name="id_aquisicaoservico")
private AquisicaoServico aquisicao;
assim o cadastro é realizado sem nenhum problema.
Mas esse é o jeito certo? Pensei nesta solução logo que para a lista ter a
chave estrangeira a Entidade 1 precisa já ter sido persistida.
Gostaria de uma ajuda. Obrigado