Oi,
Estou com um problema do capeta, tento executar o seguinte código:
@WebMethod()
public List<OnpMovimento> getMovimentos(@WebParam(name="seqRoteiro")long seqRoteiro) {
List<OnpMovimento> retorno = null;
try {
HibernateHelper.beginTransaction();
OnpMovimento mov = new OnpMovimento();
retorno = mov.findByCriteria(Restrictions.eq("onpMovimentoPK.seqRoteiro", seqRoteiro).ignoreCase());
HibernateHelper.commitTransaction();
} catch (Throwable ex) {
HibernateHelper.rollbackTransaction();
}
return retorno;
}
Ele me da o erro nada explicativo:
Hibernate: select this_.cod_referencia as cod1_16_0_, this_.seq_matricula as seq2_16_0_, this_.seq_roteiro as seq3_16_0_, this_.cod_agente as cod4_16_0_, this_.cod_medidor as cod5_16_0_, this_.dat_leitura as dat6_16_0_, this_.dat_leitura_anterior as dat7_16_0_, this_.dat_proxima_leitura as dat8_16_0_, this_.dat_troca as dat9_16_0_, this_.dat_vencimento as dat10_16_0_, this_.des_banco_agencia_debito as des11_16_0_, this_.des_banco_debito as des12_16_0_, this_.ind_entrega_especial as ind13_16_0_, this_.ind_fatura_emitida as ind14_16_0_, this_.ind_leitura_divergente as ind15_16_0_, this_.ind_motivo_retirada as ind16_16_0_, this_.ind_situacao_movimento as ind17_16_0_, this_.seq_tipo_entrega as seq18_16_0_, this_.val_arredonda_anterior as val19_16_0_, this_.val_consumo_atribuido as val20_16_0_, this_.val_consumo_estimado as val21_16_0_, this_.val_consumo_medido as val22_16_0_, this_.val_consumo_medio as val23_16_0_, this_.val_consumo_rateado as val24_16_0_, this_.val_consumo_troca as val25_16_0_, this_.val_desconto as val26_16_0_, this_.val_impressoes as val27_16_0_, this_.val_leitura_anterior as val28_16_0_, this_.val_leitura_atribuida as val29_16_0_, this_.val_leitura_real as val30_16_0_, this_.val_numero_leituras as val31_16_0_, this_.val_quantidade_pendente as val32_16_0_ from ONP_MOVIMENTO this_ where this_.seq_roteiro=?
17:16:52,711 INFO LongType:158 - could not bind value '1010007' to parameter: 1; java.lang.String
No Try/Catch eu pego um ClassCastException que nao me diz nada de util também (stacktrace vazio, etc)
Onde o método findByCriteria corresponde a: (_type esta preenchido corretamente)
Criteria crit = getSession().createCriteria(_type);
for (Criterion c : criterion)
crit.add(c);
return crit.list();
Classe mapeado por annotation sendo elas as seguintes (geradas pelo Table to Entity class wizard to netbeans). Omiti os set/get.
@Embeddable
public class OnpMovimentoPK implements Serializable {
@Column(name = "seq_roteiro", nullable = false)
private long seqRoteiro;
@Column(name = "seq_matricula", nullable = false)
private int seqMatricula;
@Column(name = "cod_referencia", nullable = false)
private String codReferencia;
@Entity
@Table(name = "ONP_MOVIMENTO")
public class OnpMovimento extends GenericDao<OnpMovimento, OnpMovimentoPK> implements Serializable {
/**
* EmbeddedId primary key field
*/
@EmbeddedId
protected OnpMovimentoPK onpMovimentoPK;
@Column(name = "cod_agente")
private Integer codAgente;
@Column(name = "cod_medidor")
private String codMedidor;
@Column(name = "seq_tipo_entrega")
private Short seqTipoEntrega;
@Column(name = "val_leitura_anterior")
private Integer valLeituraAnterior;
@Column(name = "val_leitura_real")
private Integer valLeituraReal;
@Column(name = "val_leitura_atribuida")
private Integer valLeituraAtribuida;
@Column(name = "val_numero_leituras")
private Integer valNumeroLeituras;
@Column(name = "val_consumo_medido")
private Integer valConsumoMedido;
@Column(name = "val_consumo_medio")
private Integer valConsumoMedio;
@Column(name = "val_consumo_atribuido")
private Integer valConsumoAtribuido;
@Column(name = "val_consumo_troca")
private Integer valConsumoTroca;
@Column(name = "val_consumo_rateado")
private Integer valConsumoRateado;
@Column(name = "val_consumo_estimado")
private Integer valConsumoEstimado;
@Column(name = "des_banco_debito")
private String desBancoDebito;
@Column(name = "des_banco_agencia_debito")
private String desBancoAgenciaDebito;
@Column(name = "dat_leitura")
@Temporal(TemporalType.TIMESTAMP)
private Date datLeitura;
@Column(name = "dat_proxima_leitura")
@Temporal(TemporalType.TIMESTAMP)
private Date datProximaLeitura;
@Column(name = "dat_vencimento")
@Temporal(TemporalType.TIMESTAMP)
private Date datVencimento;
@Column(name = "dat_leitura_anterior")
@Temporal(TemporalType.TIMESTAMP)
private Date datLeituraAnterior;
@Column(name = "dat_troca")
@Temporal(TemporalType.TIMESTAMP)
private Date datTroca;
@Column(name = "val_quantidade_pendente")
private Short valQuantidadePendente;
@Column(name = "val_desconto")
private java.math.BigDecimal valDesconto;
@Column(name = "val_arredonda_anterior")
private java.math.BigDecimal valArredondaAnterior;
@Column(name = "val_impressoes")
private Short valImpressoes;
@Column(name = "ind_motivo_retirada")
private String indMotivoRetirada;
@Column(name = "ind_leitura_divergente")
private String indLeituraDivergente;
@Column(name = "ind_entrega_especial")
private String indEntregaEspecial;
@Column(name = "ind_fatura_emitida")
private String indFaturaEmitida;
@Column(name = "ind_situacao_movimento")
private String indSituacaoMovimento;
Já tentei criar um Long passando o seqRoteiro, passar string, mudar tudo de long para int, ja tentei com outros campos mapeados e da o mesmo erro besta.
Alguém tem idéia do que é?
Agradeço qualquer ajuda,
Sérgio