Erro com ecplipselink e campo data

2 respostas
s3v3r1n0

Blz tudo bem?

Estou tentando consultar as locaçoes de um cliente que não tem data de devolucao. E tá dando esse erro aqui:

br.com.caelum.vraptor.InterceptionException: exception raised, check root cause for details: java.lang.IllegalArgumentException: An exception occurred while creating a query in EntityManager:
Exception Description: Syntax error parsing the query [SELECT l from Locacao l where l.cliente = :c AND l.dataDevolucao = 01/01/0001], line 1, column 67: unexpected token [01].
Internal Exception: NoViableAltException(111!=[797:1: comparisonExpressionRightOperand returns [Object node] : (n= arithmeticExpression | n= nonArithmeticScalarExpression | n= any

Porquê dá esse erro na minha consulta?

Query query = em.createQuery( "SELECT l from Locacao l where l.cliente = "
           + ":c AND l.dataDevolucao = null"  );
ou

 Query query = em.createQuery( "SELECT l from Locacao l where l.cliente = "
           + ":c AND l.dataDevolucao = \"01/01/0001\""  );

dá o mesmo erro sempre.

2 Respostas

B

quando executo alguma sql onde desejo ter na condição apenas compos null executo da seguinte forma.

Query query = em.createQuery( "SELECT l from Locacao l where l.cliente = "

+ “:c AND l.dataDevolucao is null” );

e quando quero que traga apenas os que não são null

Query query = em.createQuery( "SELECT l from Locacao l where l.cliente = "

+ “:c AND l.dataDevolucao is not null” );

s3v3r1n0

Puta cara to até com vergonha de ter perguntado uma imbecilidade dessas. Valeu cara falou.

Criado 25 de novembro de 2010
Ultima resposta 25 de nov. de 2010
Respostas 2
Participantes 2