Pessoal,
Tenho duas tabelas com relacionamento 1:N, TbEtiqueta e TbEtiquetaItem ( abaixo as duas entitys ). Mas quando persisto um objeto TbEtiqueta ele salva todos os seus itens na tabela TbEtiquetaItem e tbém uma ocorrência em TbEtiqueta. O problema está na chave estrangeira q não é salva nos itens da TbEtiquetaItem.
Alguma idéia do q acontece de errado ?
TbEtiqueta - tabela Pai
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="tb_etiqueta_cd_etiqueta_seq")
@Column(name = "cd_etiqueta", nullable = false)
private Integer cdEtiqueta;
@Column(name = "cd_etiqueta_validacao")
private String cdEtiquetaValidacao;
@Column(name = "vl_total_emolumento1")
private BigDecimal vlTotalEmolumento1;
@Column(name = "vl_total_emolumento2")
private BigDecimal vlTotalEmolumento2;
@Column(name = "vl_total_emolumento3")
private BigDecimal vlTotalEmolumento3;
@Column(name = "vl_total_emolumento4")
private BigDecimal vlTotalEmolumento4;
@Column(name = "vl_total_emolumento5")
private BigDecimal vlTotalEmolumento5;
@Column(name = "nm_divisor")
private String nmDivisor;
@Column(name = "qt_nome_etiqueta")
private Integer qtNomeEtiqueta;
@Column(name = "dt_etiqueta")
@Temporal(TemporalType.DATE)
private Date dtEtiqueta;
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER, mappedBy = "cdEtiqueta")
private Collection<TbEtiquetaItem> tbEtiquetaItemCollection;
@JoinColumn(name = "cd_tipo_etiqueta", referencedColumnName = "cd_tipo_etiqueta")
@ManyToOne
private TbTipoEtiqueta cdTipoEtiqueta;
TbEtiquetaItem - tabela filha
@Transient
private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="tb_etiqueta_item_cd_etiqueta_item_seq")
@Column(name = "cd_etiqueta_item", nullable = false)
private Integer cdEtiquetaItem;
@Column(name = "nm_parte_etiqueta_item")
private String nmParteEtiquetaItem;
@Column(name = "nr_selo_utilizado_etiqueta_item")
private String nrSeloUtilizadoEtiquetaItem;
@Column(name = "cd_ficha_firma")
private Integer cdFichaFirma;
@ManyToOne(optional = false)
@JoinColumn(name = "cd_etiqueta", referencedColumnName = "cd_etiqueta", nullable = false)
private TbEtiqueta cdEtiqueta;