[英]Hql Query to Bind a Data Member
Query qry = session.createQuery("From RegistrationBean where ? = ?");
qry.setString(0,searchCriteria);
qry.setString(1,searchField);
searchList =(ArrayList<RegistrationBean>) qry.list();
RegistrationBean
Entity类具有userName, address, age
字段。.我想使用上述单个查询通过诸如userName, address
等搜索条件搜索用户...但是,即使该用户存在,该查询仍向我返回零结果。 。
有什么问题?
两个参数均设置为0位置,第二个参数未设置。 位置参数应顺序设置。
qry.setParameter(0,searchCriteria);
qry.setParameter(1,searchField);
但是字段名称应通过以下方式传递
String queryString = "from RegistrationBean as model where model." + propertyName + "= ?";
Query queryObject = getSession().createQuery(queryString);
queryObject.setParameter(0, value);
return queryObject.list();
请尝试以下方式:
Query qry = session.createQuery("select * from RegistrationBean where :searchCrit = :searchValue");
qry.setString(":searchCrit",searchCriteria);
qry.setString(":searchValue",searchField);
searchList =(ArrayList<RegistrationBean>) qry.list();
像这样使用它而不是设置索引更合适(您的问题是将两个都设置为0),因为如果您在查询中进行了某些更改,则可能需要在以后更改设置器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.