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/

10-10 14:41