Hibernate, Criteria - Restrictions.between + Projections.groupProperty + DATA  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
rodrigo.achilles
JavaGuru
[Avatar]

Membro desde: 18/11/2004 20:43:04
Mensagens: 214
Localização: Rio de Janeiro
Offline

Olá pessoal,

Estou tomando uma surra aqui com uma criteria:



Usando Restrictions.between + Projections.groupProperty + DATA=como um período dá ERRO:
java.lang.ClassCastException: java.sql.Timestamp cannot be cast to teste.bean.Lote

Quando uso:



Funciona! Até mesmo o Between se eu usar uma mesma data ele funciona estranhamente!

Não entendo

-----------------------------------------------------------------------
Java é sinistro!

Att.
Rodrigo Achilles Pereira
[Email] [WWW] [MSN]
RicardoCobain
JavaChild
[Avatar]

Membro desde: 21/06/2007 16:05:01
Mensagens: 147
Offline

É, assim n tou vendo nada de errado a primeira vista não...
Agora faz o seguinte, onte tem lote.dtEncaminha coloca só dtEncaminha, quando
está trabalhando restrições para a classe Lote.class não precisa colocar o alias.

Ricardo JL Rufino <ricardo.jl.rufino@gmail.com> < UNYK > :: CriativaSoft :: Teresina - PI
"Existe apenas um bem, o saber, e apenas um mal, a ignorância" - Sócrates
"Devemos julgar um homem mais pelas suas perguntas que pelas respostas" - Voltaire




Mentawai Developer

[Email] [MSN]
rodrigo.achilles
JavaGuru
[Avatar]

Membro desde: 18/11/2004 20:43:04
Mensagens: 214
Localização: Rio de Janeiro
Offline

RicardoCobain wrote:É, assim n tou vendo nada de errado a primeira vista não...
Agora faz o seguinte, onte tem lote.dtEncaminha coloca só dtEncaminha, quando
está trabalhando restrições para a classe Lote.class não precisa colocar o alias.


Fala Ricardo,
Valeu mesmo pela dica... sobre o problema aparentemente está tudo bem mas não sei o que acontece que não funciona muito bem GROUP BY DATA e BETWEEN DATA
Uma restrição normal funciona, quando coloco o BETWEEN baba tudo!

-----------------------------------------------------------------------
Java é sinistro!

Att.
Rodrigo Achilles Pereira
[Email] [WWW] [MSN]
RicardoCobain
JavaChild
[Avatar]

Membro desde: 21/06/2007 16:05:01
Mensagens: 147
Offline

Cara, bota o hibernate.show.sql como true no arquivo de configuração e da uma olhada como o SQL tá sendo gerado.
Qual é o tipo de dtEncaminha ? java.util.Date ? Se não for coloca, e no banco vc coloca
date ou timestamp (data e hora).

Ricardo JL Rufino <ricardo.jl.rufino@gmail.com> < UNYK > :: CriativaSoft :: Teresina - PI
"Existe apenas um bem, o saber, e apenas um mal, a ignorância" - Sócrates
"Devemos julgar um homem mais pelas suas perguntas que pelas respostas" - Voltaire




Mentawai Developer

[Email] [MSN]
rodrigo.achilles
JavaGuru
[Avatar]

Membro desde: 18/11/2004 20:43:04
Mensagens: 214
Localização: Rio de Janeiro
Offline

RicardoCobain wrote:Cara, bota o hibernate.show.sql como true no arquivo de configuração e da uma olhada como o SQL tá sendo gerado.
Qual é o tipo de dtEncaminha ? java.util.Date ? Se não for coloca, e no banco vc coloca
date ou timestamp (data e hora).


Fala Ricardo,
O pior é que a dtEncaminha já está java.util.Date e no banco oracle é date tb.
Tó quase construindo um HQL e esquecendo o CRITERIA e partindo para transformar a data em String formatada para consulta. Já não estou com muito tempo pra gastar nisso!
Sinistro, erro mais louco! Ora funciona ora não.

-----------------------------------------------------------------------
Java é sinistro!

Att.
Rodrigo Achilles Pereira
[Email] [WWW] [MSN]
jkatayama
Smalltalk

Membro desde: 04/06/2008 10:16:41
Mensagens: 4
Offline

Olá, eu sei bem pouca coisa de JAVA e muito menos de Hibernate, mas qual seria a diferença entre você utilizar Expression.Between e Restrictions.Between?
[Email] [MSN]
romarcio
JWizard
[Avatar]

Membro desde: 17/12/2008 10:05:49
Mensagens: 2434
Localização: Santa Maria/RS
Offline

Já utilizei algo parecido com isso:

Vc precisa que esses três campos sejam do tipo java.util.Date.

Como vc setou as colunas datas no banco? Que tipo são Date, DateTime, TimeStamp?

Se for por exemplo DateTime, o seu mapeamento deve ser TimeStamp, embora seu private seja Date.

Bacharel em Sistemas de Informação.
Oracle Certified Professional, Java SE 6 Programmer

Blog | Facebook | Twitter
[WWW]
 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team