我有如下所示的使用标准,您能告诉我们如何用HQL替换它
public List<abc> getdef(String numericid) {
Criteria query = session.createCriteria(abc.class);
if(numericid!=null) {
query.add(Restrictions.eq("digitalid", numericid));
}
List<abc> cghflist = query.list();
return cghflist;
}
答案 0 :(得分:0)
Query query;
if(numericid != null){
query = session.createQuery("from abc where digitalid = :id");
query.setParameter("id", numericid);
}else{
session.createQuery("from abc");
}
List list = query.list();
如果查询更加复杂,并且只有!= null
时需要添加多个参数,则应为每个参数构造字符串查询。
StringBuilder sql = new StringBuilder();
sql.append("from abc where 1=1");
if(someParam != null){
sql.append(" and someParam = :someParam");
}
您需要在设置参数时小心。