Hibernate...ao montar comando usando like

Olá pessoal,

estou tendo duvida de como montar o comando usando like

usando HQL e está me dando erro na linha abaixo :

Query select = s.createQuery(“from Empresas as emp where emp.empresa like ‘:nome%’”);

Como montar esse comando ???

abs

erro:


type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

org.apache.jasper.JasperException: Parameter nome does not exist as a named parameter in [from Empresas as emp where emp.empresa like ':nome%']
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:460)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause 

java.lang.IllegalArgumentException: Parameter nome does not exist as a named parameter in [from Empresas as emp where emp.empresa like ':nome%']
	org.hibernate.impl.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:356)
	org.hibernate.impl.AbstractQueryImpl.setString(AbstractQueryImpl.java:643)
	br.com.wincomp.curso.Gerenciador.nomeConsultorParcial(Gerenciador.java:154)
	org.apache.jsp.listanomeconsultor_jsp._jspService(listanomeconsultor_jsp.java:66)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.25 logs.

OLá,

como a exception diz, vc nao está setando valor para “nome”.

coloque:

select.setString("nome", "oNomeQueVcQuerPesquisarAqui");

achei um jeito…e funcionou…heheheheheheh

Query select = s.createQuery(“from Empresas as emp where emp.empresa like :nome”);
select.setString(“nome”, nomeConsultor+"%");