【发布时间】:2013-10-22 22:23:54
【问题描述】:
我有一个查询需要使用“动态”参数集。 但是不知道该怎么做,我试图不添加 where 字符串,但它给了我错误,因为设置了参数。
有什么建议吗?
String queryS = "select object(c) from "
+ entityClassName + " as c " +
"where 1 = 1" ;
if(codigoPaciente.compareTo("") != 0)
{
queryS += " and c.CodigoDoPaciente =:paciente";
}
if(codServicoPrincipal.compareTo("") != 0)
queryS += " and c.codigoServicoPrincipal =:servico";
if(data != null)
queryS += " and c.codigoServicoPrincipal =:data";
if(TipoServico.compareTo("") != 0)
queryS += " and c.codigoServicoPrincipal =:tipoServico";
Query query = em.createQuery(queryS);
query.setParameter("paciente", codigoPaciente);
query.setParameter("codigoServicoPrincipal", codServicoPrincipal);
query.setParameter("data", data);
query.setParameter("tipoServico", TipoServico);
return query.getResultList();
【问题讨论】: