tenho uma entidade de operacaoTitulo e uma de cancelamentoMotivoTitulo quando e crio uma operacaoTitulo e adiciono a ela uma lista de cancelamentoMotivoTitulo e tento gravar ele da erro por que operacaoTitulo_id esta null na tabela cancelamentoMotivoTitulo .
public class OperacaoTitulo{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Enumerated(EnumType.STRING)
private TipoOperacaoTituloEnum tipoOperacao;
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name = "operacaoTitulo_id")
private List<CancelamentoMotivoTitulo> motivosCancelamento;
}
classe CancelamentoMotivoTitulo
public class CancelamentoMotivoTitulo{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@ManyToOne
@JoinColumn(name = "operacaoTitulo_id")
private OperacaoTitulo operacao;
@ManyToOne
@JoinColumn(name = "cancelamentoMotivo_id")
private CancelamentoMotivo motivo;
@Column(name = "observacoes")
private String observacoes;
}
classe CancelamentoMotivoTitulo
public class CancelamentoMotivo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(name = "motivo")
private String motivo;
}
No front eu monto o objeto operacao com todos os dados menos id pois e um novo objeto, dentro dele monto uma lista de CancelamentomotivoTipo cada um com o motivo, mas sem id e sem o operacao
ao enviar para gravar ele deveria gravar o OperacaoTitulo depois vincular o id do mesmo ao objeto filho CancelamentomotivoTipo pra gravar ele ,mas isto nao acontece o jpa esta tentando gravar o filho sem o id do pai e da erro pois o campo e obrigatorio.