Duvida HQL

Gostaria de saber se consigo recuperar a data do banco de dados pelo Hibernate.
Por exemplo em SQL posso fazer

select  current_date

e em HQL como faço isso?

eu não sei em HQL, mais vc pode fazer uma VIEW no banco e recuperar como se fosse uma tabela normal usando o hibernate

[quote=cbotacin]Gostaria de saber se consigo recuperar a data do banco de dados pelo Hibernate.
Por exemplo em SQL posso fazer

select  current_date

e em HQL como faço isso?
[/quote]

Pegar a data do sistema Java não resolve o problema não?

[quote=cbotacin]Gostaria de saber se consigo recuperar a data do banco de dados pelo Hibernate.
Por exemplo em SQL posso fazer

select  current_date

e em HQL como faço isso?
[/quote]

Olá cbotacin,

tb estava querendo fazer isso e nao consegui, não queria pegar a data do sistema java como o amigo acima falou.

Abraços
Ademir

Vc pode tentar executar sem ser por HQL… No hibernate tem a opção de executar query nativa.

no hibernate vocÊ ainda pode fazer uma sql query casovocÊ precise…

sei que o hibernate aceita umas funções ai em qualquer banco mas não tenho certeza se tem uma para data e hora corrente…

current_date é função, então precisa dos parênteses.
current_date()

Acho eu que sysdate() também funciona… mas só acho.

Abraço!

Agora me veio uma dúvida: em que situação você teria resultados diferentes buscando hora do banco e do sistema java? Servidores diferentes devem ter relógio global. Se o problema for localização, aí não tem jeito… mas ainda assim dá certo, alterando-se o timezone.

Marcia, bom dia, como que faço para executar uma query nativa?

A minha função é:

//Retorna data e hora do Servidor MySQL
public static Date getDataHoraHoje() throws Exception {
	Date dt = new Date();
	Session session = HibernateUtil.getSession();
	Query query = session.createQuery("SELECT CURRENT_TIMESTAMP");
	dt = (Date)query.uniqueResult();
	return dt;
}

Mensagem de erro:
09:23:09,565 ERROR PARSER:56 - :0:0: unexpected end of subtree
unexpected end of subtree [SELECT CURRENT_TIMESTAMP]

Gostaria de pegar a data e hora do servidor mysql e nao do servidor Java.

Muito obrigado
Ademir

no lugar de

Query query = session.createQuery("SELECT CURRENT_TIMESTAMP");  

coloque

SQLQuery query = session.createSQLQuery("SELECT CURRENT_TIMESTAMP");  

ou

SQLQuery query = session.createSQLQuery("SELECT CURRENT_TIMESTAMP FROM DUAL");  

[quote=marciavilaca] no lugar de

Query query = session.createQuery("SELECT CURRENT_TIMESTAMP");  

coloque

SQLQuery query = session.createSQLQuery("SELECT CURRENT_TIMESTAMP");  

ou

SQLQuery query = session.createSQLQuery("SELECT CURRENT_TIMESTAMP FROM DUAL");  

[/quote]

Valeu Márcia, deu certinho. Deus lhe abençoe!
Muito Obrigado
Ademir