新闻表 news
新闻标题 newsTitle
新闻内容 newsContent
类别     newsDis  (有a,b两种类别)我前台模糊查询框,传一个新闻类别(newsDis=a 和一个需要查询的关键字) 然后从a类别中模糊查询新闻标题和新闻内容 ;那DAO里这个模糊查询语句怎么写?我写的是这个HQL语句是  
String hql="FROM News n WHERE  n.newsTitle LIKE ? OR n.newsContent LIKE ? and n.newsDis=?"但是不行 !  应该怎么写 ?

解决方案 »

  1.   

    String hql= "FROM News n WHERE n.newsTitle LIKE ? OR n.newsContent LIKE ? and n.newsDis=?";
                
    Query query = getSession().createQuery(hql); query.setString(0, "%" + title + "%");
    query.setString(1, "%" + content+ "%");
    query.setString(2, newsDis);
      

  2.   

    最后加上  List list=query.list();
      

  3.   

    模糊的的用like, 确定的条件用等号呗.. 
    代码LS的哥们都已经给你了.!  参考下吧
      

  4.   

    Criteria c=getSession().createCriteria(News.class);
    c.add(Expression.eq("newsDis", "a"));
    c.add(Expression.like("newsTitle", "%"+newsTitle+"%"));
    c.add(Expression.like("newsContent", "%"+newsContent+"%"));
    return c.list();