Criteria trabalhando com Date

Tenho uma entidade mapeada, aonde um dos atributos é do tipo Date, na hora de usar o criteria não estou conseguindo, está dando indexoutofboundexception, o código do criteria:

Calendar c1 = Calendar.getInstance();
c1.add(c1.DAY_OF_MONTH, -(ped_ultima_edicao));
Criterion id_eq = Restrictions.eq(“pedUltimaEdicao”, c1.getTime());
order_crit.add(id_eq);
List listagem = order_crit.list();

Alguem sabe pq não tá aceitando?!?

Valeu

[quote=balancin]Tenho uma entidade mapeada, aonde um dos atributos é do tipo Date, na hora de usar o criteria não estou conseguindo, está dando indexoutofboundexception, o código do criteria:

Calendar c1 = Calendar.getInstance();
c1.add(c1.DAY_OF_MONTH, -(ped_ultima_edicao));
Criterion id_eq = Restrictions.eq(“pedUltimaEdicao”, c1.getTime());
order_crit.add(id_eq);
List listagem = order_crit.list();

Alguem sabe pq não tá aceitando?!?

Valeu[/quote]

Posta sua query e a exception…

O Hibernate executa essa query:

Hibernate:
select
this_.ped_id as ped1_17_1_,
this_.ped_usr_id as ped22_17_1_,
this_.ped_uf as ped2_17_1_,
this_.ped_spd_id as ped23_17_1_,
this_.ped_tip_pgt_id as ped25_17_1_,
this_.ped_fre_id as ped24_17_1_,
this_.ped_banco as ped3_17_1_,
this_.ped_data_emissao as ped4_17_1_,
this_.ped_ultima_edicao as ped5_17_1_,
this_.ped_valor_frete as ped6_17_1_,
this_.ped_track_codigo as ped7_17_1_,
this_.ped_parcelas as ped8_17_1_,
this_.ped_numero_cc as ped9_17_1_,
this_.ped_codigo_seguranca_cc as ped10_17_1_,
this_.ped_nome_cc as ped11_17_1_,
this_.ped_validade_cc as ped12_17_1_,
this_.ped_data_entrega as ped13_17_1_,
this_.ped_observacao as ped14_17_1_,
this_.ped_endereco as ped15_17_1_,
this_.ped_numero as ped16_17_1_,
this_.ped_complemento as ped17_17_1_,
this_.ped_pais as ped18_17_1_,
this_.ped_cidade as ped19_17_1_,
this_.ped_bairro as ped20_17_1_,
this_.ped_cep as ped21_17_1_,
usr1_.usr_id as usr1_31_0_,
usr1_.usr_ctm_id as usr16_31_0_,
usr1_.usr_nome as usr2_31_0_,
usr1_.usr_pessoa as usr3_31_0_,
usr1_.usr_cpf_cnpj as usr4_31_0_,
usr1_.usr_rg_ie as usr5_31_0_,
usr1_.usr_profissao as usr6_31_0_,
usr1_.usr_email as usr7_31_0_,
usr1_.usr_password as usr8_31_0_,
usr1_.usr_lembrete as usr9_31_0_,
usr1_.usr_sexo as usr10_31_0_,
usr1_.usr_dt_nascimento as usr11_31_0_,
usr1_.usr_mailing as usr12_31_0_,
usr1_.usr_last_access as usr13_31_0_,
usr1_.usr_status as usr14_31_0_,
usr1_.usr_obs as usr15_31_0_
from
clovis.pedido this_
inner join
clovis.users usr1_
on this_.ped_usr_id=usr1_.usr_id
where
this_.ped_ultima_edicao=?
and usr1_.usr_nome like ?

A exception:

SEVERE: Servlet.service() for servlet order threw exception
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at br.com.webtraffic.wmc.order.controllers.ListController.handleRequestInternal(ListController.java:110)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)

(…)

Vou chutar:

Será que este erro não ocorre porque você está setando apenas um parâmetro no critério e a consulta (postada por você) requer dois? Aparentemente você está setando apenas o parâmetro da condição com o campo ped_ultima_edicao, ficando a condição envolvendo o campo usr_nome sem parâmetro algum.

Na verdade o outro parametro eu seto também rs. é que eu nao colei aqui…
To quase mudando o mapeamento de date pra string se esse treco não funcionar… =/

consegui ! Era problema na tabela, o hibernate não tá aceitando fazer coluna quando tem data do tipo 0000-00-00 00:00:00, sabe pq?

Posta o código do método que está dando esse erro, fica mais fácil…

Fazer coluna? Como assim?
Enfim, tenta postar o código completo ai pra gente tentar desvendar isso.