JPA+Toplink+Postgres não persiste a chave estrangeira

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;