0
を設定しないとマージ、私の最初のエンティティがあるは、私は2列で構成関係を持つ2つのテーブルを持っているJPAは、FKのID
public class NFeProtocolo implements Serializable {
/**
*
*/
private static final long serialVersionUID = 2092981840170296102L;
@Id
@ManyToOne
@JoinColumn(name = "nf_cabeca" , referencedColumnName="sequencial", updatable = false)
private NfCabeca nf_cabeca_id;
@Id
@Column(name = "protocolo", length = 100)
private String protocolo;
@Column(name = "operacao", length = 15, nullable = false)
@Enumerated(EnumType.STRING)
private NFeProtocoloOperacao operacao;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "data_hora", length = 29, nullable = false)
private Date dataHora;
@Column(name = "status", length = 10)
private String status;
}
問題があります私はNFCabeca
NFeProtocolo nFeProtocolo = new NFeProtocolo(protocolo, operacao, dataProtocolo, status);
nFeProtocolo.setNf_cabeca_id(nf);
nf.setProtocolo(nFeProtocolo);
merge(nf);
内NFeProtocolo
を設定したとき、私はエラーを取得する:
error message saying the column nf_cabeca cannot be set to null
実際にはできませんが、nf_cabeca
の値を設定すると間違っていますか? オブジェクトをnFeProtocoloで見ると、nf_cabeca_idが公開されていません。
Protocolos内容:
[NFeProtocolo [protocolo=333170000339533, operacao=CRIACAO, dataHora=Wed Aug 09 09:19:11 BRT 2017, status=100]]
は、なぜそれが外nf_nf_cabeca_id設定されていませんか?