Erro ao comparar datas no oracle

erro…

org.apache.jasper.JasperException: unexpected token: = near line 1, column 70 [from hibernate.TbEventos where  TO_CHAR(eve_dt_inicio,'YYYY-MM-DD') == 2005-10-01]
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)

o sql…
String eve = "from TbEventos where TO_CHAR(eve_dt_inicio,‘YYYY-MM-DD’) == " + dtInicio ;

Ué, por que você colocou dois “igual” dentro da sua consulta? É somente um “=”, certo?

Outra dica, é sempre bom utilizar o PreparedStatement que daí você pode fazer “…where eve_dt_inicio = ?..” onde o “?” será substituído pela data, daí você não precisa ficar convertendo no SQL nem no Java.

eu ja coloquei com um = tb… nao deu. e nao to usando PreparedStatement pq to usando o hibernate…

Sem contar que você está tentando comparar uma string (você está usando “to_char”) com o resultado de uma subtração - que eu saiba, se dt_inicio = 2006-07-01, o Oracle vai achar que você quer 2006 menos 07 menos 01, que é o número 1998. Use PreparedStatement para se livrar desses problemas de aspas.

A bom, mas então não está faltando aspas simples na sua data?

from hibernate.TbEventos where  TO_CHAR(eve_dt_inicio,'YYYY-MM-DD') = '2005-10-01'