Erro no list de um objeto

2 respostas
C

Olá, bom dia. Tenho o método:

public List<T> lista(Usuario usuario){ String strQuery = "from modelo.Reuniao where usuario.login = " + usuario.getLogin(); return this.session.createQuery(strQuery).list(); }
Se eu colocar where usuario.getLogin = ‘jose’; por exemplo, funciona perfeitamente. Mas se deixo como está: usuario.login = " + usuario.getLogin(); gera um erro no jsp referenciando à linha do comando return:
org.hibernate.exception.SQLGrammarException: could not execute query
org.hibernate.exception.SQLStateConverter(SQLStateConverter.java:67)
Se eu coloco um nome direto (como citado acima) ele funciona - usuario.getLogin = ‘jose’;. Este jose é um String não é? Então, se eu faço String u = usuario.getLogin e coloco where usuario.login = " + u; dá o mesmo erro. O u tb não é um String? Porque com o u não funciona mas com jose funciona?
Grato, Carlos.

2 Respostas

Naruffy

Faltou vc envolver o usuario.getLogin() com aspas

assim:

public List&lt;T&gt; lista(Usuario usuario){ String strQuery = "from modelo.Reuniao where usuario.login = '" + usuario.getLogin() + "'"; return this.session.createQuery(strQuery).list(); }

C

Ok Naruffy. Muito obrigado.

Criado 24 de novembro de 2008
Ultima resposta 24 de nov. de 2008
Respostas 2
Participantes 2