Po tenho 2 classes PessoaFisica e Dependente, quando eu deletar um dependente referente a uma PessoaFisica não pode deletar a PessoaFisica também que é o que está ocorrendo. Alguém saberia porque?? se eu tirar o cascade = CascadeType.ALL, quando vou cadastrar um dependente ele não vai, e para deletar também não, nem sei se na hora de gravar estou usando o JPA corretamente, estou recuperando a chave primária da pessoaFisica, passando para o objeto de Dependente para gravar como no código abaixo
dependente.setNome(painelDepNovos.getCampoDepNovNomeDep().getText().toUpperCase());
dependente.setCpf(painelDepNovos.getCampoDepCpf().getText());
PessoaFisica pessoaFisica = dependentesDAO.buscaPessoa(idSelecionado);
dependente.setPessoaFisica(pessoaFisica);
dependentesDAO.novoCadastro(dependente)
Na entidade Dependente tem
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "id_pessoa_fisica")
private PessoaFisica pessoaFisica;
- acho que não faria sentido cascadeType.ALL, pois não quero que delete o registro de PessoaFisica no banco, mas se eu tirar ele dá o erro
javax.persistence.EntityNotFoundException: deleted entity passed to persist: [modelo.Dependente#<null>]
já na Entidade PessoaFisica tenho
@OneToMany(mappedBy="pessoaFisica", cascade = CascadeType.ALL, fetch=FetchType.EAGER)
private List<Dependente> dependentes;
Ai sim faz sentido, quando deletar PessoaFisica sair deletando tudo referente a ela
- Desde já valeu Jareilton pelo toque que nome de entidade fica no singular[/code]