Boa tarde pessoal, seguinte, eu estou tentando gravar em uma tabela, onde nela possui muito campos many-to-one, mas nem todos são obrigatorios.
Então da o erro
org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: br.com.tga.juridico.entidades.cadastros.Acao
org.hibernate.engine.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:243)
Correto, ele está passando uma referencia com atributos nullos,
mas pq o hibernate não set o atributo nulo, ja que os atributos desse atributo estão nulo.
Dai sou obrigato a tratar na classe
algo como
public void setAcao(Acao acao) {
if (acao.getId() != null)
this.acao = acao;
else
this.acao = null;
}
Alguem teria uma luz para fazer algo mais genérico, para não ter refatorar minha aplicação.
Att.
Kiver
