Erro ao atualizar entidade que possui embeded

Pessoal, estou tendo problema para dar update em uma coluna que contem um atributo @Embeddable o caso é o seguinte:
Eu tenho uma classe que se chama itemNotaFiscal e que possui um @embeded que se chama CombustivelNF com alguns outros atributos, esse itemNotaFiscal tem relação de muitos para um com a classe NotaFiscal.
Quando salvo uma notaFiscal com os itens já preenchidos ela insere ok, mas se eu salvar a notaFiscal sem itens e depois tentar atualizar ela colocando os itens ela me retorna o seguinte erro:

could not get a field value by reflection getter of CombustivelNF.aliquotaCide

Esse erro da para todos os campos da minha classe combustível.
Segue as entidades:

@Embeddable
public class CombustivelNF implements Serializable {

    @Column(name = "codigo_produto_anp")
    private String codigoProdutoAnp;

    @Column(name = "descricao_produto_anp")
    private String descricaoProdutoAnp;

    @Column(name = "percentual_glp")
    private BigDecimal percentualGlp;

    @Column(name = "percentual_gas_natural_nacional")
    private BigDecimal percentualGasNaturalNacional;

    @Column(name = "percentual_gas_natural_internacional")
    private BigDecimal percentualGasNaturalInternacional;

    @Column(name = "valor_partida_combustivel")
    private BigDecimal valorPartida;

    @Column(name = "codif")
    private String codif;

    @Column(name = "quantidade_faturada_temp_ambiente")
    private BigDecimal quantidadeFaturadaTempAmbiente;

    @Column(name = "uf_consumo_combustivel")
    private String ufConsumoCombustivel;

    @Column(name = "bc_cide")
    private BigDecimal bcCide;

    @Column(name = "aliquota_cide")
    private BigDecimal aliquotaCide;

    @Column(name = "valor_cide")
    private BigDecimal valorCide;

    public String getCodigoProdutoAnp() {
        return codigoProdutoAnp;
    }

    public void setCodigoProdutoAnp(String codigoProdutoAnp) {
        this.codigoProdutoAnp = codigoProdutoAnp;
    }

    public String getDescricaoProdutoAnp() {
        return descricaoProdutoAnp;
    }

    public void setDescricaoProdutoAnp(String descricaoProdutoAnp) {
        this.descricaoProdutoAnp = descricaoProdutoAnp;
    }

    public BigDecimal getPercentualGlp() {
        return percentualGlp;
    }

    public void setPercentualGlp(BigDecimal percentualGlp) {
        this.percentualGlp = percentualGlp;
    }

    public BigDecimal getPercentualGasNaturalNacional() {
        return percentualGasNaturalNacional;
    }

    public void setPercentualGasNaturalNacional(BigDecimal percentualGasNaturalNacional) {
        this.percentualGasNaturalNacional = percentualGasNaturalNacional;
    }

    public BigDecimal getPercentualGasNaturalInternacional() {
        return percentualGasNaturalInternacional;
    }

    public void setPercentualGasNaturalInternacional(BigDecimal percentualGasNaturalInternacional) {
        this.percentualGasNaturalInternacional = percentualGasNaturalInternacional;
    }

    public BigDecimal getValorPartida() {
        return valorPartida;
    }

    public void setValorPartida(BigDecimal valorPartida) {
        this.valorPartida = valorPartida;
    }

    public String getCodif() {
        return codif;
    }

    public void setCodif(String codif) {
        this.codif = codif;
    }

    public BigDecimal getQuantidadeFaturadaTempAmbiente() {
        return quantidadeFaturadaTempAmbiente;
    }

    public void setQuantidadeFaturadaTempAmbiente(BigDecimal quantidadeFaturadaTempAmbiente) {
        this.quantidadeFaturadaTempAmbiente = quantidadeFaturadaTempAmbiente;
    }

    public String getUfConsumoCombustivel() {
        return ufConsumoCombustivel;
    }

    public void setUfConsumoCombustivel(String ufConsumoCombustivel) {
        this.ufConsumoCombustivel = ufConsumoCombustivel;
    }

    public BigDecimal getBcCide() {
        return bcCide;
    }

    public void setBcCide(BigDecimal bcCide) {
        this.bcCide = bcCide;
    }

    public BigDecimal getAliquotaCide() {
        return aliquotaCide;
    }

    public void setAliquotaCide(BigDecimal aliquotaCide) {
        this.aliquotaCide = aliquotaCide;
    }

    public BigDecimal getValorCide() {
        return valorCide;
    }

    public void setValorCide(BigDecimal valorCide) {
        this.valorCide = valorCide;
    }

}




@Entity
@Table(name = "item_nota_fiscal")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "ItemNotaFiscal.findAll", query = "SELECT i FROM ItemNotaFiscal i")})
public class ItemNotaFiscal extends ItemNotas implements Serializable, Comparable<ItemNotaFiscal> {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "id")
    private Long id;

    @Column(name = "cod_enquadra_ipi")
    private String codEnquadraIpi;

    @Column(name = "bc_imposto_import", precision = 15, scale = 2)
    private BigDecimal bcII;

    @Column(name = "valor_desp_aduan", precision = 15, scale = 2)
    private BigDecimal valorDespAdua;

    @Column(name = "valor_imposto_import", precision = 15, scale = 2)
    private BigDecimal valorII;

    @Column(name = "valor_iof", precision = 15, scale = 2)
    private BigDecimal valorIof;

    @Column(name = "valor_total", precision = 15, scale = 2)
    private BigDecimal valorTotal;

    @JoinColumn(name = "id_nota", referencedColumnName = "id")
    @ManyToOne(optional = false)
    private NotaFiscal idNota;

    @Column(name = "cest")
    private String cest;

    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idItemNota")
    private Collection<DeclImportacao> declImportacaoCollection;

    @Column(name = "valor_issqn_retido")
    private BigDecimal valorIssqnRetido;

    @Column(name = "exigibilidade_iss")
    private Integer exigibilidadeIss;

    @Column(name = "codigo_servico_prestado")
    private String codigoServicoPrestado;

    @Column(name = "indicador_incentivo_fiscal")
    private Short indicadorIncentivoFiscal;

    @Column(name = "item_lista_servico")
    private String itemListaServico;

    @Column(name = "desconto_condicionado")
    private BigDecimal descontoCondicionado;

    @Column(name = "valor_aproximado_tributos")
    private BigDecimal valorAproximadoTributos;

    @Enumerated(EnumType.STRING)
    @Column(name = "indicador_escala_relevante")
    private IndicadorEscalaRelevante indicadorEscalaRelevante;

    @Column(name = "cnpj_fabricante_mercadoria")
    private String cnpjFabricanteMercadoria;

    @Column(name = "codigo_beneficio_fiscal")
    private String codigoBeneficioFiscal;

    @Embedded
    private CombustivelNF combustivel;

    @Column(name = "valor_base_calculo_fcp")
    private BigDecimal valorBaseCalculoFcp;

    @Column(name = "aliquota_fcp")
    private BigDecimal aliquotaFcp;

    @Column(name = "valor_fcp")
    private BigDecimal valorFcp;

    @Column(name = "valor_base_calculo_fcp_st")
    private BigDecimal valorBaseCalculoFcpSt;

    @Column(name = "aliquota_fcp_st")
    private BigDecimal aliquotaFcpSt;

    @Column(name = "valor_fcp_st")
    private BigDecimal valorFcpSt;

    @Column(name = "valor_base_calculo_fcp_st_retido")
    private BigDecimal valorBaseCalculoFcpStRetido;

    @Column(name = "aliquota_fcp_st_retido")
    private BigDecimal aliquotaFcpStRetido;

    @Column(name = "valor_fcp_st_retido")
    private BigDecimal valorFcpStRetido;

    @Column(name = "aliquota_suportada_consumidor_final")
    private BigDecimal aliquotaSuportadaConsumidorFinal;

    @Column(name = "percentual_mercadoria_devolvida")
    private BigDecimal percentualMercadoriaDevolvida;

    @Column(name = "valor_ipi_devolvido")
    private BigDecimal valorIpiDevolvido;

    @Transient
    private String codProdutoServico;


public class NotaFiscal implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "id")
    private Long id;
    @Column(name = "chave_nfe")
    private String chaveNfe;
    @Basic(optional = false)
    @Column(name = "modelo_nota")
    private String modeloNota;
    @Basic(optional = false)
    @Column(name = "serie_nota")
    private String serieNota;
    @Basic(optional = false)
    @Column(name = "numero")
    private String numero;
    @Column(name = "tipo_emissao")
    private Short tipoEmissao;
    @Column(name = "finalidade")
    private Short finalidade;
    @Column(name = "indicador_presenca")
    private Short indicadorPresenca;
    @Column(name = "crt")
    private Short crt;
    @Column(name = "dh_cont")
    @Temporal(TemporalType.TIMESTAMP)
    private Date dhCont;
    @Column(name = "just_cont")
    private String justCont;
    @Basic(optional = false)
    @Column(name = "data_emissao")
    @Temporal(TemporalType.TIMESTAMP)
    private Date dataEmissao;
    @Column(name = "data_saida")
    @Temporal(TemporalType.TIMESTAMP)
    private Date dataSaida;
    @Column(name = "situacao")
    private Short situacao;
    @Column(name = "stat_nfe")
    private String statNfe;
    @Column(name = "num_recibo")
    private String numRecibo;
    @Column(name = "incide_frt_desp_bc_icms_st")
    private Boolean incideFrtDespBcIcmsSt;
    @Column(name = "incide_frt_desp_bc_ipi")
    private Boolean incideFrtDespBcIpi;
    @Column(name = "tipo_frete")
    private Short tipoFrete;
    // @Max(value=?)  @Min(value=?)//if you know range of your decimal fields consider using these annotations to enforce field validation
    @Column(name = "valor_csll", precision = 15, scale = 2)
    private BigDecimal valorCsll;
    @Column(name = "valor_inss", precision = 15, scale = 2)
    private BigDecimal valorInss;
    @Column(name = "valor_irpj", precision = 15, scale = 2)
    private BigDecimal valorIrpj;
    @Column(name = "valor_iss", precision = 15, scale = 2)
    private BigDecimal valorIss;
    @Column(name = "aliquota_iss", precision = 15, scale = 4)
    private BigDecimal aliquotaIss;
    @Column(name = "bc_iss", precision = 15, scale = 2)
    private BigDecimal bcIss;
    @Column(name = "valor_deducoes", precision = 15, scale = 2)
    private BigDecimal valorDeducoes;
    @Column(name = "dados_adicionais_fisco")
    private String dadosAdicionaisFisco;
    @Column(name = "dados_adicionais_contribuinte")
    private String dadosAdicionaisContribuinte;
    @Column(name = "quantidade_volumes")
    private Integer quantidadeVolumes;
    @Column(name = "marca_volumes")
    private String marcaVolumes;
    @Column(name = "especie_volumes")
    private String especieVolumes;
    @Column(name = "numeracao_volumes")
    private String numeracaoVolumes;
    @Column(name = "pesob_volumes")
    private BigDecimal pesoBrutoVolumes;
    @Column(name = "pesol_volumes")
    private BigDecimal pesoLiquidoVolumes;
    @Column(name = "processo_judicial_sup_exig")
    private String processoJudicialSupExig;
    @Column(name = "dh_recebimento")
    private String dhRecebimento;
    @Column(name = "tipo_contribuinte")
    private Short tipoContribuinte;
    @Column(name = "prot_autorizacao")
    private String protAutorizacao;
    @Column(name = "just_cancelamento")
    private String justCancelamento;

    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idNota")
    private Collection<ItemNotaFiscal> itemNotaFiscalCollection;