请教:
Goods是一个类,代码如下:
public class Goods implements java.io.Serializable { // Fields private Integer id;
private User userByBuyerId;
private User userBySalerId;
private String goodsName;
private Double goodsPrice;
private String goodsDesc;
private String goodsPic;
private Date beginTime;
private Date endTime;
private Integer goodsStatus; 
  //略去getter,setter方法
}
下面要实现一个在表中Goods类型的模糊查询,那么应该如何写HQL的like语句?请给出关键代码,运行成功立刻结贴!谢谢大侠!
public List search(Goods condition)
 {
 
   
 }

解决方案 »

  1.   

    HQL是不是没法模糊查询对象类型啊。
      

  2.   

    Goods 不是对应一张表吗?要对他模糊查询?你模糊查询的条件是什么?goodsDesc = %a%
      

  3.   

    给你一个hql模糊查询的例子吧String hql = "from Employeeinfo where 1=1";
    if (employeeinfo.getEmpId() != -1) {
    hql+=" and empId='"+employeeinfo.getEmpId()+"'";
    }
    if (null !=employeeinfo.getEmpState()) {
    hql+=" and empState='1'";
    }
    if(null !=employeeinfo.getEmpCode() && !("").equals(employeeinfo.getEmpCode())){
     hql+=" and empCode like '%"+employeeinfo.getEmpCode()+"%'";
    }if(null !=employeeinfo.getEmpName() && !("").equals(employeeinfo.getEmpName())){
    if(!("").equals(employeeinfo.getEmpCode())){
    hql+=" or empName like '%"+employeeinfo.getEmpName()+"%'";
    }else{
    hql+=" and empName like '%"+employeeinfo.getEmpName()+"%'";
      }
    }
    Query qu=session.createQuery(hql);希望对你有帮助
      

  4.   

    中文还是英文的模糊查询?
    英文的直接拼hql,类似sql的%通配符
    中文的上面的方法不行,要用参数,session.createQuery(hql,Object[])
      

  5.   

    这样 要是数据多 那个性能..........
    当然我开始做的时候也是用的这个方法 拼接SQL