Erro precisão campo numérico[RESOLVIDO]

Estou tendo um problema a tentar inserir no banco(Postgres) um campo numérico, na base dados dados esse campo foi definido da seguinte forma: Numeric(12,0). Na hora da inserção ocorre um overflow e ele pede pra arredondar, o campo está sendo setado de forma correta, será que é algum bug ?

Na minha entidade eu tenho dois campos definidos como long usando as anotações de coluna do jpa e setando os atributos precision = 12 e scale = 0.

Abaixo segue minha entidade:
Campos qtAdquiridaCx e qtdEmitida

@Entity
@Table(name = “mcxtb027_serie”, schema = “mcxsm001”)
@SequenceGenerator(name = “mcxsq027_serie”, sequenceName = ““mcxsq027_serie””, allocationSize = 1, schema = “mcxsm001”)
public class Serie extends Entidade implements Serializable {

private static final long serialVersionUID = 8298926431115572714L;

@Id
@Column(name = "nu_serie")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "mcxsq027_serie")
private Integer nuSerie;

@JoinColumn(name = "nu_emissao", referencedColumnName = "nu_emissao")
@ManyToOne(optional = false)
private Emissao emissao;

@Column(name = "co_serie", length = 10)
private String coSerie;

@Temporal(TemporalType.DATE)
@Column(name = "dt_emissao")
private Date dtEmissao;

@Column(name = "vr_volume_emissao", precision = 14, scale = 2)
private BigDecimal vrVolumeEmissao;

@Column(name = "qt_emitida", precision = 12, scale = 0)
private Long qtdEmitida;

@Column(name = "co_bm_bovespa", length = 10)
private String coBmBovespa;

@Column(name = "co_cetip", length = 10)
private String coCetip;

@Column(name = "co_isin", length = 12)
private String coIsin;

@Column(name = "co_forma_colocacao", length = 10)
private String coFormaColocacao;

@Column(name = "co_siico_caixa", length = 5)
private String coSiicoCaixa;

@Column(name = "vr_adquirido_caixa", precision = 14, scale = 2)
private BigDecimal vrAdquiridoCx;

@Column(name = "qt_adquirida_caixa", precision = 12, scale = 0)
private Long qtAdquiridaCx;

@Temporal(TemporalType.DATE)
@Column(name = "dt_entrada_ativo")
private Date dtEntradaAtv;

public Date getDtEntradaAtv() {
return dtEntradaAtv;
}

@Column(name = "ic_ativo_liberado_lastro")
private Boolean icAtivoLiberadoLastro;

@Column(name = "dt_prevista_liberacao_lastro")
private Date dtPrevistaLiberacaoLastro;

@ManyToOne
@JoinColumn(name = "nu_ctgra_balanco_caixa")
private CategoriaBalancoCaixa categoriaBalancoCaixa;

@Temporal(TemporalType.DATE)
@Column(name = "dt_vencimento")
private Date dtVencimento;

@Column(name = "de_taxa_remuneracao", length = 20)
private String txRemuneracao;

@ManyToOne(optional = false)
@JoinColumn(name = "nu_tipo_remuneracao")
private TipoRemuneracao tipoRemuneracao;

@Column(name = "ic_atualizacao_monetaria")
private Boolean icAtualizacaoMonet;

@Column(name = "de_indexador", length = 20)
private String deIndexador;

@Column(name = "ic_repactuacao_programada")
private Boolean icRepactProg;

@Column(name = "de_repactuacao_programada", length = 200)
private String deRepactProg;

@Column(name = "ic_carencia")
private Boolean icCarencia;

@Temporal(TemporalType.DATE)
@Column(name = "dt_carencia")
private Date dtCarencia;

@OneToOne(optional = false)
@JoinColumn(name = "nu_periodicidade")
private Periodicidade periodicidade;

@Column(name = "ic_resgate_antecipado")
private Boolean icResgateAntec;

@ManyToOne(optional = false, fetch = FetchType.EAGER)
@JoinColumn(name = "nu_tp_resgate_antecipado")
private ResgateAmortizacao resgateAntecipado;

@Column(name = "de_resgate_antecipado", length = 200)
private String deResgateAntecipado;

@Column(name = "ic_oferta_resgate_antecipado")
private Boolean icOfertaRsgtAntc;

@Column(name = "ic_premio_resgate")
private Boolean icPremioResgate;

@Column(name = "ic_amortizacao_extraordinaria")
private Boolean icAmortExtr;

@Column(name = "de_amortizacao_extraordinaria", length = 200)
private String deAmortizacaoExtraordinaria;

@ManyToOne(optional = false)
@JoinColumn(name = "nu_tp_amortizacao_antecipada")
private ResgateAmortizacao nuTpAmortizacaoAntecipada;

@Column(name = "ic_premio_amortizacao")
private Boolean icPremioAmortiz;

@Column(name = "ic_vigente")
private Boolean icVigente;

@ManyToOne
@JoinColumn(name = "nu_status_serie")
private StatusSerie statusSerie;

@OneToMany(fetch = FetchType.LAZY, cascade = { CascadeType.MERGE }, mappedBy = "serie")
private List<Rating> ratingList;

@Transient
private Rating rating;

@OneToMany(fetch = FetchType.LAZY, cascade = { CascadeType.MERGE }, mappedBy = "serie")
private List<Garantia> garantiaList;

@Transient
private Garantia garantia;

@OneToMany(fetch = FetchType.LAZY, cascade = { CascadeType.MERGE }, mappedBy = "serie")
private List<ObservacaoSerie> observacaoSerieList;

@OneToMany(fetch = FetchType.LAZY, cascade = { CascadeType.ALL }, mappedBy = "serie")
private Collection<ParcelaAmortizacaoRemuneracao> parcelaRemuneracaoList;

@OneToMany(fetch = FetchType.LAZY, cascade = { CascadeType.ALL }, mappedBy = "serie")
private Collection<ParcelaPremio> parcelaPremioList;

@Transient
private Double qtdDisponivel;

@Transient
private Double qtdBloqueada;

public Double getQtdBloqueada() {
return qtdBloqueada;
}

public void setQtdBloqueada(Double qtdBloqueada) {
this.qtdBloqueada = qtdBloqueada;
}

public static long getSerialversionuid() {
return serialVersionUID;
}

public Double getQtdDisponivel() {
return qtdDisponivel;
}

public void setQtdDisponivel(Double qtdDisponivel) {
this.qtdDisponivel = qtdDisponivel;
}

@Override
public Serializable getIdentificador() {
return this.nuSerie;
}

@Override
public String getChavePrimaria() {
return "nuSerie";
}

public Integer getNuSerie() {
return nuSerie;
}

public void setNuSerie(Integer nuSerie) {
this.nuSerie = nuSerie;
}

public String getCoSerie() {
return coSerie;
}

public void setCoSerie(String coSerie) {
coSerie = coSerie.substring(0, 10);
this.coSerie = coSerie;
}

public Date getDtEmissao() {
return dtEmissao;
}

public void setDtEmissao(Date dtEmissao) {
this.dtEmissao = dtEmissao;
}

public BigDecimal getVrVolumeEmissao() {
return vrVolumeEmissao;
}

public void setVrVolumeEmissao(BigDecimal vrVolumeEmissao) {
this.vrVolumeEmissao = vrVolumeEmissao;
}

public Long getQtdEmitida() {
return qtdEmitida;
}

public void setQtdEmitida(Long qtdEmitida) {
this.qtdEmitida = qtdEmitida;
}

public String getCoBmBovespa() {
return coBmBovespa;
}

public void setCoBmBovespa(String coBmBovespa) {
coBmBovespa = coBmBovespa.toUpperCase();	
this.coBmBovespa = coBmBovespa;
}

public String getCoCetip() {
return coCetip;
}

public void setCoCetip(String coCetip) {
coCetip = coCetip.toUpperCase();	
this.coCetip = coCetip;
}

public String getCoIsin() {
return coIsin;
}

public void setCoIsin(String coIsin) {
coIsin = coIsin.toUpperCase();	
this.coIsin = coIsin;
}

public String getCoFormaColocacao() {
return coFormaColocacao;
}

public void setCoFormaColocacao(String coFormaColocacao) {
this.coFormaColocacao = coFormaColocacao;
}

public String getCoSiicoCaixa() {
return coSiicoCaixa;
}

public void setCoSiicoCaixa(String coSiicoCaixa) {
this.coSiicoCaixa = coSiicoCaixa;
}

public BigDecimal getVrAdquiridoCx() {
return vrAdquiridoCx;
}

public void setVrAdquiridoCx(BigDecimal vrAdquiridoCx) {
this.vrAdquiridoCx = vrAdquiridoCx;
}

public Long getQtAdquiridaCx() {
return qtAdquiridaCx;
}

public void setQtAdquiridaCx(Long qtAdquiridaCx) {
this.qtAdquiridaCx = qtAdquiridaCx;
}

public void setDtEntradaAtv(Date dtEntregaAtv) {
this.dtEntradaAtv = dtEntregaAtv;
}

public Boolean getIcAtivoLiberadoLastro() {
return icAtivoLiberadoLastro;
}

public void setIcAtivoLiberadoLastro(Boolean icAtivoLiberadoLastro) {
this.icAtivoLiberadoLastro = icAtivoLiberadoLastro;
}

public Date getDtPrevistaLiberacaoLastro() {
return dtPrevistaLiberacaoLastro;
}

public void setDtPrevistaLiberacaoLastro(Date dtPrevistaLiberacaoLastro) {
this.dtPrevistaLiberacaoLastro = dtPrevistaLiberacaoLastro;
}

public CategoriaBalancoCaixa getCategoriaBalancoCaixa() {
return categoriaBalancoCaixa;
}

public void setCategoriaBalancoCaixa(CategoriaBalancoCaixa categoriaBalancoCaixa) {
this.categoriaBalancoCaixa = categoriaBalancoCaixa;
}

public Date getDtVencimento() {
return dtVencimento;
}

public void setDtVencimento(Date dtVencimento) {
this.dtVencimento = dtVencimento;
}

public String getTxRemuneracao() {
return txRemuneracao;
}

public void setTxRemuneracao(String txRemuneracao) {
this.txRemuneracao = txRemuneracao;
}

public TipoRemuneracao getTipoRemuneracao() {
return tipoRemuneracao;
}

public void setTipoRemuneracao(TipoRemuneracao tipoRemuneracao) {
this.tipoRemuneracao = tipoRemuneracao;
}

public Boolean getIcAtualizacaoMonet() {
return icAtualizacaoMonet;
}

public void setIcAtualizacaoMonet(Boolean icAtualizacaoMonet) {
this.icAtualizacaoMonet = icAtualizacaoMonet;
}

public String getDeIndexador() {
return deIndexador;
}

public void setDeIndexador(String deIndexador) {
this.deIndexador = deIndexador;
}

public Boolean getIcRepactProg() {
return icRepactProg;
}

public void setIcRepactProg(Boolean icRepactProg) {
this.icRepactProg = icRepactProg;
}

public String getDeRepactProg() {
return deRepactProg;
}

public void setDeRepactProg(String deRepactProg) {
this.deRepactProg = deRepactProg;
}

public Boolean getIcCarencia() {
return icCarencia;
}

public void setIcCarencia(Boolean icCarencia) {
this.icCarencia = icCarencia;
}

public Date getDtCarencia() {
return dtCarencia;
}

public void setDtCarencia(Date dtCarencia) {
this.dtCarencia = dtCarencia;
}

public Periodicidade getPeriodicidade() {
return periodicidade;
}

public void setPeriodicidade(Periodicidade periodicidade) {
this.periodicidade = periodicidade;
}

public Boolean getIcResgateAntec() {
return icResgateAntec;
}

public void setIcResgateAntec(Boolean icResgateAntec) {
this.icResgateAntec = icResgateAntec;
}

public String getDeResgateAntecipado() {
return deResgateAntecipado;
}

public void setDeResgateAntecipado(String deResgateAntecipado) {
this.deResgateAntecipado = deResgateAntecipado;
}

public Boolean getIcOfertaRsgtAntc() {
return icOfertaRsgtAntc;
}

public void setIcOfertaRsgtAntc(Boolean icOfertaRsgtAntc) {
this.icOfertaRsgtAntc = icOfertaRsgtAntc;
}

public Boolean getIcPremioResgate() {
return icPremioResgate;
}

public void setIcPremioResgate(Boolean icPremioResgate) {
this.icPremioResgate = icPremioResgate;
}

public Boolean getIcAmortExtr() {
return icAmortExtr;
}

public void setIcAmortExtr(Boolean icAmortExtr) {
this.icAmortExtr = icAmortExtr;
}

public String getDeAmortizacaoExtraordinaria() {
return deAmortizacaoExtraordinaria;
}

public void setDeAmortizacaoExtraordinaria(String deAmortizacaoExtraordinaria) {
this.deAmortizacaoExtraordinaria = deAmortizacaoExtraordinaria;
}

public ResgateAmortizacao getNuTpAmortizacaoAntecipada() {
return nuTpAmortizacaoAntecipada;
}

public void setNuTpAmortizacaoAntecipada(ResgateAmortizacao nuTpAmortizacaoAntecipada) {
this.nuTpAmortizacaoAntecipada = nuTpAmortizacaoAntecipada;
}

public Boolean getIcPremioAmortiz() {
return icPremioAmortiz;
}

public void setIcPremioAmortiz(Boolean icPremioAmortiz) {
this.icPremioAmortiz = icPremioAmortiz;
}

public Emissao getEmissao() {
return emissao;
}

public void setEmissao(Emissao emissao) {
this.emissao = emissao;
}

public List<Garantia> getGarantiaList() {
return garantiaList;
}

public void setGarantiaList(List<Garantia> garantiaList) {
this.garantiaList = garantiaList;
}

public Garantia getGarantia() {
return garantia;
}

public void setGarantia(Garantia garantia) {
this.garantia = garantia;
}

public List<Rating> getRatingList() {
return ratingList;
}

public void setRatingList(List<Rating> ratingList) {
this.ratingList = ratingList;
}

public Rating getRating() {
return rating;
}

public void setRating(Rating rating) {
this.rating = rating;
}

public List<ObservacaoSerie> getObservacaoSerieList() {
return observacaoSerieList;
}

public void setObservacaoSerieList(List<ObservacaoSerie> observacaoSerieList) {
this.observacaoSerieList = observacaoSerieList;
}

public Collection<ParcelaAmortizacaoRemuneracao> getParcelaRemuneracaoList() {
return parcelaRemuneracaoList;
}

public void setParcelaRemuneracaoList(Collection<ParcelaAmortizacaoRemuneracao> parcelaRemuneracaoList) {
this.parcelaRemuneracaoList = parcelaRemuneracaoList;
}

public ResgateAmortizacao getResgateAntecipado() {
return resgateAntecipado;
}

public void setResgateAntecipado(ResgateAmortizacao resgateAntecipado) {
this.resgateAntecipado = resgateAntecipado;
}

public Collection<ParcelaPremio> getParcelaPremioList() {
return parcelaPremioList;
}

public void setParcelaPremioList(Collection<ParcelaPremio> parcelaPremioList) {
this.parcelaPremioList = parcelaPremioList;
}

public Boolean getIcVigente() {
return icVigente;
}

public void setIcVigente(Boolean icVigente) {
this.icVigente = icVigente;
}

public StatusSerie getStatusSerie() {
return statusSerie;
}

public void setStatusSerie(StatusSerie statusSerie) {
this.statusSerie = statusSerie;
}

@Override
public int hashCode() {
final int prime = 31;
int result = super.hashCode();
result = prime * result + ((categoriaBalancoCaixa == null) ? 0 : categoriaBalancoCaixa.hashCode());
result = prime * result + ((coBmBovespa == null) ? 0 : coBmBovespa.hashCode());
result = prime * result + ((coCetip == null) ? 0 : coCetip.hashCode());
result = prime * result + ((coFormaColocacao == null) ? 0 : coFormaColocacao.hashCode());
result = prime * result + ((coIsin == null) ? 0 : coIsin.hashCode());
result = prime * result + ((coSerie == null) ? 0 : coSerie.hashCode());
result = prime * result + ((coSiicoCaixa == null) ? 0 : coSiicoCaixa.hashCode());
result = prime * result + ((deAmortizacaoExtraordinaria == null) ? 0 : deAmortizacaoExtraordinaria.hashCode());
result = prime * result + ((deIndexador == null) ? 0 : deIndexador.hashCode());
result = prime * result + ((deRepactProg == null) ? 0 : deRepactProg.hashCode());
result = prime * result + ((deResgateAntecipado == null) ? 0 : deResgateAntecipado.hashCode());
result = prime * result + ((dtCarencia == null) ? 0 : dtCarencia.hashCode());
result = prime * result + ((dtEmissao == null) ? 0 : dtEmissao.hashCode());
result = prime * result + ((dtEntradaAtv == null) ? 0 : dtEntradaAtv.hashCode());
result = prime * result + ((dtPrevistaLiberacaoLastro == null) ? 0 : dtPrevistaLiberacaoLastro.hashCode());
result = prime * result + ((dtVencimento == null) ? 0 : dtVencimento.hashCode());
result = prime * result + ((emissao == null) ? 0 : emissao.hashCode());
result = prime * result + ((garantia == null) ? 0 : garantia.hashCode());
result = prime * result + ((garantiaList == null) ? 0 : garantiaList.hashCode());
result = prime * result + ((icAmortExtr == null) ? 0 : icAmortExtr.hashCode());
result = prime * result + ((icAtivoLiberadoLastro == null) ? 0 : icAtivoLiberadoLastro.hashCode());
result = prime * result + ((icAtualizacaoMonet == null) ? 0 : icAtualizacaoMonet.hashCode());
result = prime * result + ((icCarencia == null) ? 0 : icCarencia.hashCode());
result = prime * result + ((icOfertaRsgtAntc == null) ? 0 : icOfertaRsgtAntc.hashCode());
result = prime * result + ((icPremioAmortiz == null) ? 0 : icPremioAmortiz.hashCode());
result = prime * result + ((icPremioResgate == null) ? 0 : icPremioResgate.hashCode());
result = prime * result + ((icRepactProg == null) ? 0 : icRepactProg.hashCode());
result = prime * result + ((icResgateAntec == null) ? 0 : icResgateAntec.hashCode());
result = prime * result + ((icVigente == null) ? 0 : icVigente.hashCode());
result = prime * result + ((nuSerie == null) ? 0 : nuSerie.hashCode());
result = prime * result + ((nuTpAmortizacaoAntecipada == null) ? 0 : nuTpAmortizacaoAntecipada.hashCode());
result = prime * result + ((observacaoSerieList == null) ? 0 : observacaoSerieList.hashCode());
result = prime * result + ((parcelaPremioList == null) ? 0 : parcelaPremioList.hashCode());
result = prime * result + ((parcelaRemuneracaoList == null) ? 0 : parcelaRemuneracaoList.hashCode());
result = prime * result + ((periodicidade == null) ? 0 : periodicidade.hashCode());
result = prime * result + ((qtAdquiridaCx == null) ? 0 : qtAdquiridaCx.hashCode());
result = prime * result + ((qtdEmitida == null) ? 0 : qtdEmitida.hashCode());
result = prime * result + ((rating == null) ? 0 : rating.hashCode());
result = prime * result + ((ratingList == null) ? 0 : ratingList.hashCode());
result = prime * result + ((resgateAntecipado == null) ? 0 : resgateAntecipado.hashCode());
result = prime * result + ((tipoRemuneracao == null) ? 0 : tipoRemuneracao.hashCode());
result = prime * result + ((txRemuneracao == null) ? 0 : txRemuneracao.hashCode());
result = prime * result + ((vrAdquiridoCx == null) ? 0 : vrAdquiridoCx.hashCode());
result = prime * result + ((vrVolumeEmissao == null) ? 0 : vrVolumeEmissao.hashCode());
return result;
}

@Override
public boolean equals(Object obj) {
if (this == obj)
    return true;
if (!super.equals(obj))
    return false;
if (getClass() != obj.getClass())
    return false;
Serie other = (Serie) obj;
if (categoriaBalancoCaixa == null) {
    if (other.categoriaBalancoCaixa != null)
	return false;
} else if (!categoriaBalancoCaixa.equals(other.categoriaBalancoCaixa))
    return false;
if (coBmBovespa == null) {
    if (other.coBmBovespa != null)
	return false;
} else if (!coBmBovespa.equals(other.coBmBovespa))
    return false;
if (coCetip == null) {
    if (other.coCetip != null)
	return false;
} else if (!coCetip.equals(other.coCetip))
    return false;
if (coFormaColocacao == null) {
    if (other.coFormaColocacao != null)
	return false;
} else if (!coFormaColocacao.equals(other.coFormaColocacao))
    return false;
if (coIsin == null) {
    if (other.coIsin != null)
	return false;
} else if (!coIsin.equals(other.coIsin))
    return false;
if (coSerie == null) {
    if (other.coSerie != null)
	return false;
} else if (!coSerie.equals(other.coSerie))
    return false;
if (coSiicoCaixa == null) {
    if (other.coSiicoCaixa != null)
	return false;
} else if (!coSiicoCaixa.equals(other.coSiicoCaixa))
    return false;
if (deAmortizacaoExtraordinaria == null) {
    if (other.deAmortizacaoExtraordinaria != null)
	return false;
} else if (!deAmortizacaoExtraordinaria.equals(other.deAmortizacaoExtraordinaria))
    return false;
if (deIndexador == null) {
    if (other.deIndexador != null)
	return false;
} else if (!deIndexador.equals(other.deIndexador))
    return false;
if (deRepactProg == null) {
    if (other.deRepactProg != null)
	return false;
} else if (!deRepactProg.equals(other.deRepactProg))
    return false;
if (deResgateAntecipado == null) {
    if (other.deResgateAntecipado != null)
	return false;
} else if (!deResgateAntecipado.equals(other.deResgateAntecipado))
    return false;
if (dtCarencia == null) {
    if (other.dtCarencia != null)
	return false;
} else if (!dtCarencia.equals(other.dtCarencia))
    return false;
if (dtEmissao == null) {
    if (other.dtEmissao != null)
	return false;
} else if (!dtEmissao.equals(other.dtEmissao))
    return false;
if (dtEntradaAtv == null) {
    if (other.dtEntradaAtv != null)
	return false;
} else if (!dtEntradaAtv.equals(other.dtEntradaAtv))
    return false;
if (dtPrevistaLiberacaoLastro == null) {
    if (other.dtPrevistaLiberacaoLastro != null)
	return false;
} else if (!dtPrevistaLiberacaoLastro.equals(other.dtPrevistaLiberacaoLastro))
    return false;
if (dtVencimento == null) {
    if (other.dtVencimento != null)
	return false;
} else if (!dtVencimento.equals(other.dtVencimento))
    return false;
if (emissao == null) {
    if (other.emissao != null)
	return false;
} else if (!emissao.equals(other.emissao))
    return false;
if (garantia == null) {
    if (other.garantia != null)
	return false;
} else if (!garantia.equals(other.garantia))
    return false;
if (garantiaList == null) {
    if (other.garantiaList != null)
	return false;
} else if (!garantiaList.equals(other.garantiaList))
    return false;
if (icAmortExtr == null) {
    if (other.icAmortExtr != null)
	return false;
} else if (!icAmortExtr.equals(other.icAmortExtr))
    return false;
if (icAtivoLiberadoLastro == null) {
    if (other.icAtivoLiberadoLastro != null)
	return false;
} else if (!icAtivoLiberadoLastro.equals(other.icAtivoLiberadoLastro))
    return false;
if (icAtualizacaoMonet == null) {
    if (other.icAtualizacaoMonet != null)
	return false;
} else if (!icAtualizacaoMonet.equals(other.icAtualizacaoMonet))
    return false;
if (icCarencia == null) {
    if (other.icCarencia != null)
	return false;
} else if (!icCarencia.equals(other.icCarencia))
    return false;
if (icOfertaRsgtAntc == null) {
    if (other.icOfertaRsgtAntc != null)
	return false;
} else if (!icOfertaRsgtAntc.equals(other.icOfertaRsgtAntc))
    return false;
if (icPremioAmortiz == null) {
    if (other.icPremioAmortiz != null)
	return false;
} else if (!icPremioAmortiz.equals(other.icPremioAmortiz))
    return false;
if (icPremioResgate == null) {
    if (other.icPremioResgate != null)
	return false;
} else if (!icPremioResgate.equals(other.icPremioResgate))
    return false;
if (icRepactProg == null) {
    if (other.icRepactProg != null)
	return false;
} else if (!icRepactProg.equals(other.icRepactProg))
    return false;
if (icResgateAntec == null) {
    if (other.icResgateAntec != null)
	return false;
} else if (!icResgateAntec.equals(other.icResgateAntec))
    return false;
if (icVigente == null) {
    if (other.icVigente != null)
	return false;
} else if (!icVigente.equals(other.icVigente))
    return false;
if (nuSerie == null) {
    if (other.nuSerie != null)
	return false;
} else if (!nuSerie.equals(other.nuSerie))
    return false;
if (nuTpAmortizacaoAntecipada == null) {
    if (other.nuTpAmortizacaoAntecipada != null)
	return false;
} else if (!nuTpAmortizacaoAntecipada.equals(other.nuTpAmortizacaoAntecipada))
    return false;
if (observacaoSerieList == null) {
    if (other.observacaoSerieList != null)
	return false;
} else if (!observacaoSerieList.equals(other.observacaoSerieList))
    return false;
if (parcelaPremioList == null) {
    if (other.parcelaPremioList != null)
	return false;
} else if (!parcelaPremioList.equals(other.parcelaPremioList))
    return false;
if (parcelaRemuneracaoList == null) {
    if (other.parcelaRemuneracaoList != null)
	return false;
} else if (!parcelaRemuneracaoList.equals(other.parcelaRemuneracaoList))
    return false;
if (periodicidade == null) {
    if (other.periodicidade != null)
	return false;
} else if (!periodicidade.equals(other.periodicidade))
    return false;
if (qtAdquiridaCx == null) {
    if (other.qtAdquiridaCx != null)
	return false;
} else if (!qtAdquiridaCx.equals(other.qtAdquiridaCx))
    return false;
if (qtdEmitida == null) {
    if (other.qtdEmitida != null)
	return false;
} else if (!qtdEmitida.equals(other.qtdEmitida))
    return false;
if (rating == null) {
    if (other.rating != null)
	return false;
} else if (!rating.equals(other.rating))
    return false;
if (ratingList == null) {
    if (other.ratingList != null)
	return false;
} else if (!ratingList.equals(other.ratingList))
    return false;
if (resgateAntecipado == null) {
    if (other.resgateAntecipado != null)
	return false;
} else if (!resgateAntecipado.equals(other.resgateAntecipado))
    return false;
if (tipoRemuneracao == null) {
    if (other.tipoRemuneracao != null)
	return false;
} else if (!tipoRemuneracao.equals(other.tipoRemuneracao))
    return false;
if (txRemuneracao == null) {
    if (other.txRemuneracao != null)
	return false;
} else if (!txRemuneracao.equals(other.txRemuneracao))
    return false;
if (vrAdquiridoCx == null) {
    if (other.vrAdquiridoCx != null)
	return false;
} else if (!vrAdquiridoCx.equals(other.vrAdquiridoCx))
    return false;
if (vrVolumeEmissao == null) {
    if (other.vrVolumeEmissao != null)
	return false;
} else if (!vrVolumeEmissao.equals(other.vrVolumeEmissao))
    return false;
return true;
}

@Override
public String toString() {
return "Serie [nuSerie=" + nuSerie + ", emissao=" + emissao + ", coSerie=" + coSerie + ", dtEmissao=" + dtEmissao + ", vrVolumeEmissao=" + vrVolumeEmissao + ", qtdEmitida=" + qtdEmitida
	+ ", coBmBovespa=" + coBmBovespa + ", coCetip=" + coCetip + ", coIsin=" + coIsin + ", coFormaColocacao=" + coFormaColocacao + ", coSiicoCaixa=" + coSiicoCaixa + ", vrAdquiridoCx="
	+ vrAdquiridoCx + ", qtAdquiridaCx=" + qtAdquiridaCx + ", dtEntradaAtv=" + dtEntradaAtv + ", icAtivoLiberadoLastro=" + icAtivoLiberadoLastro + ", dtPrevistaLiberacaoLastro="
	+ dtPrevistaLiberacaoLastro + ", categoriaBalancoCaixa=" + categoriaBalancoCaixa + ", dtVencimento=" + dtVencimento + ", txRemuneracao=" + txRemuneracao + ", tipoRenumeracao="
	+ tipoRemuneracao + ", icAtualizacaoMonet=" + icAtualizacaoMonet + ", deIndexador=" + deIndexador + ", icRepactProg=" + icRepactProg + ", deRepactProg=" + deRepactProg
	+ ", icCarencia=" + icCarencia + ", dtCarencia=" + dtCarencia + ", periodicidade=" + periodicidade + ", icResgateAntec=" + icResgateAntec + ", resgateAntecipado=" + resgateAntecipado
	+ ", deResgateAtencipado=" + deResgateAntecipado + ", icOfertaRsgtAntc=" + icOfertaRsgtAntc + ", icPremioResgate=" + icPremioResgate + ", icAmortExtr=" + icAmortExtr
	+ ", deAmortizacaoExtraordinaria=" + deAmortizacaoExtraordinaria + ", nuTpAmortizacaoAntecipada=" + nuTpAmortizacaoAntecipada + ", icPremioAmortiz=" + icPremioAmortiz
	+ ", ratingList=" + ratingList + ", rating=" + rating + ", garantiaList=" + garantiaList + ", garantia=" + garantia + ", observacaoSerieList=" + observacaoSerieList
	+ ", parcelaRemuneracaoList=" + parcelaRemuneracaoList + "]";
}

}

Aqui abaixo a stacktrace na hora de inserir.

Caused by: org.postgresql.util.PSQLException: ERRO: estouro de campo numeric Detalhe: Um campo com precisão 12, escala 0 deve arredondar para um valor absoluto menor do que 10^12. at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2198) [postgresql-9.3-1102.jdbc41.jar:] at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1927) [postgresql-9.3-1102.jdbc41.jar:] at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255) [postgresql-9.3-1102.jdbc41.jar:] at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:561) [postgresql-9.3-1102.jdbc41.jar:] at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:419) [postgresql-9.3-1102.jdbc41.jar:] at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:365) [postgresql-9.3-1102.jdbc41.jar:] at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:493) [ironjacamar-jdbc-1.0.13.Final-redhat-1.jar:1.0.13.Final-redhat-1] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_25] at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_25] at org.hibernate.engine.jdbc.internal.proxy.AbstractStatementProxyHandler.continueInvocation(AbstractStatementProxyHandler.java:122) [hibernate-core-4.1.6.Final-redhat-3.jar:4.1.6.Final-redhat-3] ... 102 more

O Long é 10^18 e o seu campo no banco é 10^12. Eis o motivo… Sua quantidade pode passar de 2,147,483,647? Se não, recomendo utilizar o Integer, que suporta 10^7 e assim você pode diminuir a precisão do campo do seu banco, liberando mais espaço e memória.

Ah verdade, não tinha me atentado para o tamanho das classes, beleza, valeu :slightly_smiling:

Não esquece de marcar como resolvido. :wink: