Search code examples
hibernatehql

Searching name in multiple column and table


I am trying to search a name based on user query like user(id,fname,lname,..) business(id,name,address...)

I am writing hql query like

 String hql1 = "select count(*)  from  Client as cl  "
                    + "where cl.id=:bid "
                    + " and (cl.user.fname=:fname "
                    + " or cl.user.lname=:lname "
                    + " or cl.business.name=:name)";
            Query query1 = session.createQuery(hql1).setParameter("bid", bid)
                    .setParameter("fname", name + "%").setParameter("lname", name + "%").setParameter("name", name + "%");
            count = (Long) query1.uniqueResult();

I want to search whether user entered string is in fname or in lname or in name. if fond in any where i have to fetch it. but this is not fetching an data.


Solution

  •   String hql1 = "select count(*)  from  Client as cl  "
                    + "where cl.id=:bid "
                    + " and (cl.user.fname like :fname "
                    + " or cl.user.lname like :lname "
                    + " or cl.business.name like :name)";
            Query query1 = session.createQuery(hql1).setParameter("bid", bid)
                    .setParameter("fname", "%"+name + "%").setParameter("lname", "%"+name + "%").setParameter("name", "%"+name + "%");
            count = (Long) query1.uniqueResult();