Boa tarde pessoal,
Estou tentando persistir entidades que possuem relacionamento OneToMany bidirecional.
Eu tenho um log do sistema que possui várias ações.
P.S: estou gerando as classes de entidade pelo netbeans, ou seja, ele ta gerando pra mim, e com isso ele me gerar um relacionamento bidirecional.
O relacionamento está da seguinte forma:
@JoinColumn(name = "id_acao_cadastrar", referencedColumnName = "idacao_cadastrar")
@ManyToOne
private AcaoCadastrar idAcaoCadastrar;
@OneToMany(mappedBy = "idAcaoCadastrar", cascade = {CascadeType.PERSIST, CascadeType.MERGE})
private Collection<LogSistemaGeral> logSistemaGeralCollection;
cascade e cascadeType foi eu que acrescentei
Não estou conseguindo realizar a persitência.
Estou fazendo da seguinte forma:
void monitorLogAcao(Object entidade) {
Pivo pivo = (Pivo) entidade;
acaoCadastrar = new AcaoCadastrar();
log.setHoraSaida("11:00");
acaoCadastrar.setAcaoCadastro(pivo.getIdPivo());
acaoCadastrar.setTipoDadoCadastrado(pivo.getClass().getSimpleName());
acaoCadastrar.setLogSistemaGeralCollection((Collection<LogSistemaGeral>) log);
log.setIdAcaoCadastrar(acaoCadastrar);
logDao.edit(log);
}
Meu objeto log eu busco ele no banco, pois ja possui dados e seto a hora de saida para poder editar.
O objeto acaoCadastrar eu seto o id que foi cadastrado e o tipo de dado que foi cadastrado.
Ao tentar setar o objeto log em setLogSistemaGeralCollection da erro.
Estou fazendo de forma errada ? … até onde eu sei, quando a relacionamento bidirecional, os dois objetos tem que saber da existência um do outro.