Example usage for org.hibernate.criterion Restrictions like

List of usage examples for org.hibernate.criterion Restrictions like

Introduction

In this page you can find the example usage for org.hibernate.criterion Restrictions like.

Prototype

public static SimpleExpression like(String propertyName, Object value) 

Source Link

Document

Apply a "like" constraint to the named property

Usage

From source file:br.edu.ifrs.restinga.modulorh.dao.ServidorDAO.java

public List<Servidor> listarNome(String nome) {
    sessao.clear();/*from   w  w  w  . java  2 s  .c  om*/
    return sessao.createCriteria(Servidor.class).add(Restrictions.like("nome", "%" + nome + "%"))
            .addOrder(Order.asc("nome")).list();

}

From source file:br.edu.ifrs.restinga.modulorh.dao.SetorDAO.java

public List<Setor> listarNome(String nome) {
    sessao.clear();//  www  . ja  v  a  2s. c  om
    return sessao.createCriteria(Setor.class).add(Restrictions.like("nome", "%" + nome + "%"))
            .addOrder(Order.asc("nome")).list();

}

From source file:by.telecom.subscriberapp.DAO.LogDaoImpl.java

@Override
public List<Log> getByParameter(String name, Date dateStart, Date dateEnd, String type, String comment,
        String sort, String orderType) {
    Session session = null;//  w w w . ja  va 2 s.c o m
    List<Log> logs = new ArrayList<Log>();
    try {
        session = HibernateUtil.getSessionFactory().openSession();
        session.beginTransaction();
        Criteria criteria = session.createCriteria(Log.class).add(Restrictions.ge("date", dateStart))
                .add(Restrictions.le("date", dateEnd)).add(Restrictions.like("type", "%" + type + "%"))
                .add(Restrictions.like("comment", "%" + comment + "%"));
        Order order = Order.asc(sort);
        if (orderType.equals("desc"))
            order = Order.desc(sort);
        if (sort.equals("name"))
            criteria = criteria.createCriteria("user").add(Restrictions.like("name", "%" + name + "%"))
                    .addOrder(order);
        else
            criteria = criteria.addOrder(order).createCriteria("user")
                    .add(Restrictions.like("name", "%" + name + "%"));

        logs = criteria.list();
        session.getTransaction().commit();
    } catch (Exception e) {
        e.printStackTrace(System.out);
    } finally {
        if (session != null && session.isOpen()) {
            session.close();
        }
    }
    return logs;
}

From source file:by.telecom.subscriberapp.DAO.PhoneDaoImpl.java

@Override
public List<Phone> getByParameter(String number, String band, String security, String scv, String adsl,
        String name, String sort, String orderType) {
    Session session = null;//from w ww .ja  v  a 2  s . c om
    List<Phone> phones = new ArrayList<Phone>();
    try {
        session = HibernateUtil.getSessionFactory().openSession();
        session.beginTransaction();
        Criteria criteria = session.createCriteria(Phone.class).add(Restrictions.like("number", number + "%"))
                .add(Restrictions.like("band", band + "%")).add(Restrictions.like("security", security + "%"))
                .add(Restrictions.like("scv", scv + "%")).add(Restrictions.like("adsl", adsl + "%"));
        Order order = Order.asc(sort);
        if (orderType.equals("desc"))
            order = Order.desc(sort);
        if (sort.equals("name"))
            criteria = criteria.createCriteria("subscriber").add(Restrictions.like("name", "%" + name + "%"))
                    .addOrder(order);
        else
            criteria = criteria.addOrder(order).createCriteria("subscriber")
                    .add(Restrictions.like("name", "%" + name + "%"));

        phones = criteria.list();
        session.getTransaction().commit();
    } catch (Exception e) {
        e.printStackTrace(System.out);
    } finally {
        if (session != null && session.isOpen()) {
            session.close();
        }
    }
    return phones;
}

From source file:by.telecom.subscriberapp.DAO.SubscriberDaoImpl.java

@Override
public Collection<Subscriber> getByParameter(String name, String address, String comment, String sort,
        String orderType) {// w w w . j  a  v  a2s. com
    Session session = null;
    List<Subscriber> all = null;
    try {
        session = HibernateUtil.getSessionFactory().openSession();
        session.beginTransaction();
        Order order = Order.asc(sort);
        if (orderType.equals("desc"))
            order = Order.desc(sort);
        all = session.createCriteria(Subscriber.class).add(Restrictions.like("name", "%" + name + "%"))
                .add(Restrictions.like("address", "%" + address + "%"))
                .add(Restrictions.like("comment", "%" + comment + "%")).addOrder(order).list();
        session.getTransaction().commit();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (session != null && session.isOpen()) {
            session.close();
        }
    }
    return all;
}

From source file:by.telecom.subscriberapp.DAO.UserDaoImpl.java

@Override
public List<User> getByLogin(String login) {
    Session session = null;/*from  ww w. j  a  v a  2 s.c o m*/
    List<User> all = null;
    try {
        session = HibernateUtil.getSessionFactory().openSession();
        session.beginTransaction();
        all = session.createCriteria(User.class).add(Restrictions.like("login", "%" + login + "%")).list();
        session.getTransaction().commit();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (session != null && session.isOpen()) {
            session.close();
        }
    }
    return all;
}

From source file:by.telecom.subscriberapp.DAO.UserDaoImpl.java

@Override
public List<User> getByParameter(String login, String name, Integer category, String sort, String orderType) {
    Session session = null;//from w ww.  j a va2  s.co  m
    List<User> all = null;
    try {
        session = HibernateUtil.getSessionFactory().openSession();
        session.beginTransaction();
        Order order = Order.asc(sort);
        if (orderType.equals("desc"))
            order = Order.desc(sort);
        all = session.createCriteria(User.class).add(Restrictions.like("login", "%" + login + "%"))
                .add(Restrictions.like("name", "%" + name + "%")).add(Restrictions.ge("category", category))
                .addOrder(order).list();
        session.getTransaction().commit();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (session != null && session.isOpen()) {
            session.close();
        }
    }
    return all;
}

From source file:ca.myewb.controllers.chapter.FindDupes.java

License:Open Source License

private void findUsernameMatch(Context ctx, UserModel targetUser, String key) {
    int maxSize = 11;

    Criteria crit = hibernateSession.createCriteria(UserModel.class);
    List uniqueResultsList = crit
            .add(Restrictions.like("username", "%" + targetUser.getEmail().split("@")[0] + "%"))
            .add(Restrictions.ne("id", new Integer(1))).setProjection(Projections.groupProperty("id"))
            .setMaxResults(maxSize).list();

    Vector<UserModel> uniqueResults = new Vector<UserModel>();

    if (uniqueResultsList.size() < maxSize) {
        Iterator iter = uniqueResultsList.iterator();

        while (iter.hasNext()) {
            Integer i = (Integer) iter.next();

            // This try/catch block is a workaround to the deleted-admin-causes-cgilib-blowup bug
            try {
                uniqueResults.add((UserModel) hibernateSession.get(UserModel.class, i));
            } catch (Exception e) {
                log.warn("Unable to add user to usersearch: id " + i.toString());
            }/*from   w  w  w . j  a  va2 s.c om*/
        }
        ctx.put(key, uniqueResults);
    }
}

From source file:ca.myewb.controllers.common.EventList.java

License:Open Source License

private void addFilter(String filter, Criteria criteria) {
    if (filter == null) {
        return; // just in case
    }/*w w  w  . ja v a 2 s  .c o m*/

    log.debug("Filtering events: " + filter);

    TagModel t = TagModel.getTag(filter);
    criteria.createAlias("tags", "t");

    if (t == null) //won't find anything
    {
        criteria.add(Restrictions.like("t.name", "%" + filter + "%"));
    } else //broaden the search
    {
        criteria.add(Restrictions.like("t.name", "%" + t.getName() + "%"));
    }
}

From source file:ca.myewb.controllers.common.Member.java

License:Open Source License

private void searchMode(Context ctx) throws Exception, RedirectionException {
    MemberSearchForm searchForm = null;//from ww w  .  j a v a2s.c  om
    List result = null;

    if (currentUser.isAdmin()) {
        result = hibernateSession.createQuery("FROM GroupChapterModel where visible=true").list();
    }

    // run search, store results in temp list
    if (requestParams.get("Advanced") != null) {
        searchForm = new MemberSearchForm(getInterpageVar("membersearchtarget") + "/search", requestParams,
                true, result);
        ctx.put("advanced", new Boolean(true));
    } else {
        searchForm = new MemberSearchForm(getInterpageVar("membersearchtarget") + "/search", requestParams,
                false, result);
    }

    Message m = searchForm.validate();

    if (m != null) // validation failed, redirect to self, next time we'll be entering the next block
    {
        // Display error and prompt user to fix
        throw getValidationException(searchForm, m, (String) getInterpageVar("membersearchtarget"));
    }

    //form validation succeeded!
    String first = searchForm.getParameter("Firstname");
    String last = searchForm.getParameter("Lastname");
    String email = searchForm.getParameter("Email");
    String city = searchForm.getParameter("City", false);
    String province = searchForm.getParameter("Province", false);
    String lang = searchForm.getParameter("Language", false);
    String gender = searchForm.getParameter("Gender", false);
    String birth = searchForm.getParameter("Birth", false);
    String student = searchForm.getParameter("Student", false);
    String username = searchForm.getParameter("Username", false);

    Criteria crit = hibernateSession.createCriteria(UserModel.class);

    if ((username != null) && !username.equals("")) {
        crit.add(Restrictions.like("username", "%" + username.trim() + "%"));
    }

    if ((first != null) && !first.equals("")) {
        crit.add(Restrictions.like("firstname", "%" + first.trim() + "%"));
    }

    if ((last != null) && !last.equals("")) {
        crit.add(Restrictions.like("lastname", "%" + last.trim() + "%"));
    }

    if ((email != null) && !email.equals("")) {
        List ids = HibernateUtil.currentSession()
                .createSQLQuery("SELECT userid FROM useremails e WHERE e.email LIKE '%" + email.trim() + "%'")
                .list();
        if (!ids.isEmpty()) {
            crit.add(Restrictions.in("id", ids));
        } else {
            crit.add(Restrictions.eq("email", "###invalidemail###")); //so that no results are given
        }
    }

    if ((city != null) && !city.equals("")) {
        crit.add(Restrictions.like("address", "%\n%" + city.trim() + "%\n%"));
    }

    if ((province != null) && !province.equals("")) {
        crit.add(Restrictions.like("address", "%\n%" + province.trim() + "%\n%"));
    }

    if ((lang != null) && !lang.equals("")) {
        crit.add(Restrictions.eq("language", lang.trim()));
    }

    if ((gender != null) && !gender.equals("")) {
        crit.add(Restrictions.eq("gender", gender.trim()));
    }

    if ((birth != null) && !birth.equals("")) {
        crit.add(Restrictions.eq("birth", new Integer(birth)));
    }

    if ((student != null) && !student.equals("")) {
        crit.add(Restrictions.eq("student", new Boolean(student)));
    }

    // Get "my" own lead groups, since I can only
    // see people in groups I lead
    crit.createAlias("roles", "r");
    crit.add(Restrictions.isNull("r.end"));

    if (!currentUser.isAdmin()) {
        crit.add(Restrictions.in("r.group", currentUser.getGroups('l')));
    } else {
        GroupChapterModel chapter = null;

        if (searchForm.getParameter("Chapter", false) != null) {
            if (!searchForm.getParameter("Chapter", false).equals("")) {
                chapter = (GroupChapterModel) hibernateSession.get(GroupChapterModel.class,
                        new Integer(searchForm.getParameter("Chapter", false)));
            }
        }

        if (chapter != null) {
            crit.add(Restrictions.eq("r.group", chapter));
            crit.add(Restrictions.eq("r.level", new Character('m')));
        }

        //don't filter out deleted users!
    }

    crit.add(Restrictions.ne("id", new Integer(1)));

    crit.addOrder(Order.asc("lastname"));
    crit.addOrder(Order.asc("firstname"));
    crit.setProjection(Projections.groupProperty("id"));
    crit.setMaxResults(101);

    List uniqueResultsList = crit.list();
    Vector<UserModel> uniqueResults = new Vector<UserModel>();

    if (uniqueResultsList.size() < 101) {
        Iterator iter = uniqueResultsList.iterator();

        while (iter.hasNext()) {
            Integer i = (Integer) iter.next();

            // This try/catch block is a workaround to the deleted-admin-causes-cgilib-blowup bug
            try {
                uniqueResults.add((UserModel) hibernateSession.get(UserModel.class, i));
            } catch (Exception e) {
                log.warn("Unable to add user to usersearch: id " + i.toString());
            }
        }
    } else {
        ctx.put("tooMany", "yes");
    }

    setInterpageVar("membersearchtempresults", uniqueResultsList);
    ctx.put("tempresults", uniqueResults); //NOT the ids, but the users
    ctx.put("searchmode", "yes");
    if (searchForm == null) {
        log.info("search form was null!");
        throw new RedirectionException(getInterpageVar("membersearchtarget") + "/new");
    }

    ctx.put("form", searchForm);
    ctx.put("target", getInterpageVar("membersearchtarget"));
}