Query qry = session.createQuery("From RegistrationBean where ? = ?");
qry.setString(0,searchCriteria);
qry.setString(1,searchField);
searchList =(ArrayList<RegistrationBean>) qry.list();
RegistrationBean
实体类具有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();
关于java - Hql查询绑定(bind)数据成员,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13561448/