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:com.bean.ProvinceBean.java

public List<Province> getAllProvince() {
    Dao dao = new Dao();
    HibernateUtil.getInstance().clear();
    List<Province> list = null;
    if (proSearch == null || proSearch.equals(null) || proSearch.equals("")) {
        list = dao.getByCondition(Province.class, Order.desc("provId"));
    } else {/* w  w  w .  j  ava 2  s  .  co m*/
        Criterion name = Restrictions.like("provName", "%" + proSearch + "%");
        Criterion desc = Restrictions.like("provDescription", "%" + proSearch + "%");
        LogicalExpression orExp = Restrictions.or(desc, name);
        list = dao.getByCondition(Province.class, orExp, Order.desc("provId"));
    }
    return list;
}

From source file:com.bean.RegisterAdmin.java

public List<Users> getAllUsers() {
    Dao dao = new Dao();
    List<Users> list1 = null;
    HibernateUtil.getInstance().clear();
    if (usersearh == null || usersearh.equals(null) || usersearh.equals("")) {
        Criterion admin = Restrictions.eq("UIsAdmin", true);
        list1 = dao.getByCondition(Users.class, admin);
    } else {//w  w w  . ja va  2s .c om
        Criterion admin = Restrictions.eq("UIsAdmin", true);
        Criterion name = Restrictions.like("UUsername", "%" + usersearh + "%");
        Criterion fname = Restrictions.like("UFullname", "%" + usersearh + "%");
        Criterion phone = Restrictions.like("UPhone", "%" + usersearh + "%");
        Criterion mail = Restrictions.like("UEmail", "%" + usersearh + "%");
        LogicalExpression orExp = Restrictions.or(fname, name);
        orExp = Restrictions.or(orExp, phone);
        orExp = Restrictions.or(orExp, mail);
        orExp = Restrictions.and(orExp, admin);
        list1 = dao.getByCondition(Users.class, orExp);
    }
    return list1;
}

From source file:com.bean.RegisterEmployees.java

public List<Users> getAllUsers() {
    Dao dao = new Dao();
    List<Users> list = null;
    //HibernateUtil.getInstance().clear();
    if (userview == null || userview.equals(null) || userview.equals("")) {
        Criterion admin = Restrictions.eq("UIsAdmin", false);
        list = dao.getByCondition(Users.class, admin);
    } else {//from ww w .  jav a  2 s. c o  m
        Criterion admin = Restrictions.eq("UIsAdmin", false);
        Criterion name = Restrictions.like("UUsername", "%" + userview + "%");
        Criterion fname = Restrictions.like("UFullname", "%" + userview + "%");
        Criterion phone = Restrictions.like("UPhone", "%" + userview + "%");
        Criterion mail = Restrictions.like("UEmail", "%" + userview + "%");
        LogicalExpression orExp = Restrictions.or(fname, name);
        orExp = Restrictions.or(orExp, phone);
        orExp = Restrictions.or(orExp, mail);
        orExp = Restrictions.and(orExp, admin);
        list = dao.getByCondition(Users.class, orExp);
    }
    return list;
}

From source file:com.bloatit.data.DaoActor.java

License:Open Source License

/**
 * This method use a HQL request. If you intend to use "getByLogin" or
 * "getByName", "exist" is useless. (In that case you'd better test if
 * getByLogin != null, to minimize the number of HQL request).
 * /*from ww w  .  j ava  2  s  . co  m*/
 * @param login the login we are looking for.
 * @return true if found.
 */
public static boolean loginExists(final String login) {
    if (login == null) {
        return false;
    }
    final Session session = SessionManager.getSessionFactory().getCurrentSession();
    final Criteria c = session.createCriteria(DaoActor.class).setProjection(Projections.rowCount())
            .add(Restrictions.like("login", login).ignoreCase());
    return ((Long) c.uniqueResult()) > 0;
}

From source file:com.bloatit.data.DaoMember.java

License:Open Source License

/**
 * Find a DaoMember using its login.//from   w ww. j  a v  a2 s .co  m
 *
 * @param login the member login.
 * @return null if not found. (or if login == null)
 */
public static DaoMember getByLogin(final String login) {
    if (login == null) {
        return null;
    }
    final Session session = SessionManager.getSessionFactory().getCurrentSession();
    final Criteria q = session.createCriteria(DaoMember.class)
            .add(Restrictions.like("login", login).ignoreCase());
    return (DaoMember) q.uniqueResult();
}

From source file:com.bloatit.data.DaoMember.java

License:Open Source License

/**
 * Find a DaoMember using its login, and password. This method can be use to
 * authenticate a use.// w w w.j  a va  2  s.com
 *
 * @param login the member login.
 * @param password the password of the member "login". It is a string
 *            corresponding to the string in the database. This method does
 *            not perform any sha1 or md5 transformation.
 * @return null if not found. (or if login == null or password == null)
 */
public static DaoMember getByLoginAndPassword(final String login, final String password) {
    if (login == null || password == null) {
        return null;
    }
    final Session session = SessionManager.getSessionFactory().getCurrentSession();
    final Criteria q = session.createCriteria(DaoMember.class)
            .add(Restrictions.like("login", login).ignoreCase()).add(Restrictions.like("password", password));

    return (DaoMember) q.uniqueResult();
}

From source file:com.bookselling.dao.RoleDaoImpl.java

@Override
public PaginationData filter(RoleFilterForm criteriaForm, int first, int items) {
    //parse to neccessary form
    RoleFilterForm form = criteriaForm;//from  w  w w .  ja  v  a2 s . com

    Criteria criteria = getSession().createCriteria(Role.class);

    //get data from filter form
    String keyword = form.getKeyword();
    Set<Permission> permissions = form.getPermissions();
    Integer permissionIds[] = new Integer[permissions.size()];
    for (int i = 0; i < permissions.size(); i++)
        permissionIds[i] = permissions.iterator().next().getId();

    //setup criteria
    criteria.createAlias("permissions", "psm").add(Restrictions.like("name", "%" + keyword + "%"))
            .add(Restrictions.in("psm.id", permissionIds));

    //start querying
    List<Role> roles = criteria.list();

    //init proxy obj
    for (Role role : roles)
        HibernateInitSupport.initRole(role);

    //pagination
    PaginationData paginationData = new PaginationData(
            (long) criteria.setProjection(Projections.rowCount()).uniqueResult(), items, first, roles);

    return paginationData;
}

From source file:com.bookselling.dao.SellerInvoiceDaoImpl.java

private Object[] filterCriteria(SellerInvoiceFilterForm form, int first, int items, int id) {
    String keyword = form.getKeyword();
    SellerInvoiceFilterType searchBy = form.getSearchBy();
    Date fromDate = form.getFromDate();
    Date toDate = form.getToDate();
    Double fromPrice = form.getFromPrice();
    Double toPrice = form.getToPrice();
    SellerInvoiceOrderType orderBy = form.getOrderBy();
    SortType sortType = form.getSortType();

    Criteria criteria = getSession().createCriteria(SellerInvoice.class);
    criteria.createAlias("seller", "sl").createAlias("buyer", "bye").createAlias("bye.account", "acc");

    if (keyword != null) {
        keyword = "%" + keyword + "%";
        if (searchBy == SellerInvoiceFilterType.BUYER)
            criteria.add(Restrictions.like("acc.username", keyword));
        else if (searchBy == SellerInvoiceFilterType.OWNER) {
            Name name = new Name();
            name.setName(keyword);//from   ww  w  .ja v a2 s  .co m
            criteria.add(Restrictions.like("bye.name", name));
        } else if (searchBy == SellerInvoiceFilterType.ADDRESS) {
            Address address = new Address();
            address.setAddress(keyword);
            criteria.add(Restrictions.like("contact.address", address));
        } else if (searchBy == SellerInvoiceFilterType.PHONE) {
            PhoneNumber phone = new PhoneNumber();
            phone.setPhoneNumber(keyword);
            criteria.add(Restrictions.like("contact.phoneNumber", phone));
        }
    }

    if (fromDate != null)
        criteria.add(Restrictions.ge("createdDate", fromDate));
    if (toDate != null)
        criteria.add(Restrictions.le("createdDate", toDate));

    if (fromPrice != null)
        criteria.add(Restrictions.ge("totalPrice", fromPrice));
    if (toPrice != null)
        criteria.add(Restrictions.le("totalPrice", toPrice));

    String propertyName = null;
    if (orderBy == SellerInvoiceOrderType.BUYER)
        propertyName = "acc.username";
    else if (orderBy == SellerInvoiceOrderType.OWNER)
        propertyName = "bye.name";
    else if (orderBy == SellerInvoiceOrderType.DATE)
        propertyName = "createdDate";
    else if (orderBy == SellerInvoiceOrderType.PRICE)
        propertyName = "totalPrice";

    if (id != -1)
        criteria.add(Restrictions.eq("sl.id", id));

    //Ly s dng
    long rowCount = (long) criteria.setProjection(Projections.countDistinct("id")).uniqueResult();

    //Ly id
    criteria.setProjection(null).setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
            .setProjection(Projections.distinct(Projections.id())).setFirstResult(first).setMaxResults(items)
            .addOrder(sortType == SortType.ASC ? Order.asc(propertyName) : Order.desc(propertyName));

    List<Integer> ids = new ArrayList<>();
    for (Iterator<Integer> temp = criteria.list().iterator(); temp.hasNext();)
        ids.add(temp.next());

    //Criteria ph
    Criteria subCriteria = getSession().createCriteria(SellerInvoice.class);
    subCriteria.createAlias("seller", "sl").createAlias("buyer", "bye").createAlias("bye.account", "acc")
            .add(Restrictions.in("id", ids.size() > 0 ? ids : Arrays.asList(-1)))
            .addOrder(sortType == SortType.ASC ? Order.asc(propertyName) : Order.desc(propertyName));

    return new Object[] { subCriteria, rowCount };
}

From source file:com.bookselling.dao.SellingPostDaoImpl.java

private Object[] genericFilter(SellingPostFilterForm criteriaForm, int first, int items, int id) {
    Criteria criteria = getSession().createCriteria(SellingPost.class);

    //parse form/*from  w  ww  .j  ava 2s  . c  om*/
    SellingPostFilterForm form = criteriaForm;

    //get form data
    String keyword = form.getKeyword();
    Double minPrice = form.getMinPrice();
    Double maxPrice = form.getMaxPrice();
    QuatityFilterType quatityStatus = form.getQuatityStatus();
    SellingPostFilterType searchBy = form.getSearchBy();
    SellingPostStatus sellingPostStatus[] = form.getSellingPostStatus();
    Set<Subject> subjects = form.getSubjects();
    Integer subjectIds[] = new Integer[subjects.size()];
    Subject subjectsArray[] = subjects.toArray(new Subject[subjectIds.length]);
    for (int i = 0; i < subjects.size(); i++)
        subjectIds[i] = subjectsArray[i].getId();

    //create criteria
    criteria.createAlias("purchasingSellingEntity", "bk").createAlias("bk.subjects", "sbj")
            .createAlias("bk.publisher", "pub").createAlias("seller", "sl").createAlias("sl.account", "acc");

    //search by keyword
    if (keyword != null && !keyword.isEmpty()) {
        keyword = "%" + keyword.trim() + "%";
        if (searchBy == SellingPostFilterType.HEADER)
            criteria.add(Restrictions.like("header", keyword));
        else if (searchBy == SellingPostFilterType.NAME) {
            criteria.add(Restrictions.like("bk.name", keyword)); //product
        } else if (searchBy == SellingPostFilterType.PUBLISHER) {
            criteria.add(Restrictions.like("pub.name", keyword));
        }
    }

    //search with price range        
    criteria.add(Restrictions.between("bk.sellingPrice", minPrice == null ? 0 : minPrice,
            maxPrice == null ? Integer.MAX_VALUE : maxPrice));

    //search with quatity status
    if (quatityStatus == QuatityFilterType.AVAILABLE)
        criteria.add(Restrictions.gt("bk.quatity", 0));
    else if (quatityStatus == QuatityFilterType.OUTOFSTOCK)
        criteria.add(Restrictions.eq("bk.quatity", 0));

    //search with selling post status
    if (sellingPostStatus.length != 0)
        criteria.add(Restrictions.in("status", sellingPostStatus));

    //search with subjects
    if (subjectIds.length != 0)
        criteria.add(Restrictions.in("sbj.id", subjectIds));

    //get data from form
    SortType sortType = form.getSortType();
    SellingPostOrderType sortByProperty = form.getSortByProperty();

    //Set up criteria
    String propertyName = null;
    if (sortByProperty == SellingPostOrderType.HEADER)
        propertyName = "header";
    else if (sortByProperty == SellingPostOrderType.NAME)
        propertyName = "bk.name";
    else if (sortByProperty == SellingPostOrderType.PUBLISHER)
        propertyName = "pub.name";
    else if (sortByProperty == SellingPostOrderType.CREATEDDATE)
        propertyName = "createdDate";
    else if (sortByProperty == SellingPostOrderType.PRICE)
        propertyName = "bk.sellingPrice";

    if (id != -1)
        criteria.add(Restrictions.eq("sl.id", id));

    //Ly s dng
    long rowCount = (long) criteria.setProjection(Projections.countDistinct("id")).uniqueResult();

    //Ly id
    criteria.setProjection(null).setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
            .setProjection(Projections.distinct(Projections.id())).setFirstResult(first).setMaxResults(items)
            .addOrder(sortType == SortType.ASC ? Order.asc(propertyName) : Order.desc(propertyName));

    List<Integer> ids = new ArrayList<>();
    for (Iterator<Integer> temp = criteria.list().iterator(); temp.hasNext();)
        ids.add(temp.next());

    //Criteria ph
    Criteria subCriteria = getSession().createCriteria(SellingPost.class);
    subCriteria.createAlias("purchasingSellingEntity", "bk").createAlias("bk.subjects", "sbj")
            .createAlias("bk.publisher", "pub").createAlias("seller", "sl").createAlias("sl.account", "acc")
            .add(Restrictions.in("id", ids.size() > 0 ? ids : Arrays.asList(-1)))
            .addOrder(sortType == SortType.ASC ? Order.asc(propertyName) : Order.desc(propertyName));

    return new Object[] { subCriteria, rowCount };
}

From source file:com.bookselling.dao.SubjectDaoImpl.java

@Override
public PaginationData filter(SubjectFilterForm form, int first, int items) {
    Criteria criteria = getSession().createCriteria(Subject.class);

    //Get keyword
    String keyword = "%" + form.getKeyword() + "%";

    //Set up criteria
    criteria.add(Restrictions.like("name", keyword));

    //Get list//w  ww . ja  v  a  2 s . c  o  m
    Set<Subject> subjects = new LinkedHashSet<>(criteria.list());

    //pagination
    PaginationData paginationData = new PaginationData(
            (long) criteria.setProjection(Projections.rowCount()).uniqueResult(), items, first, subjects);

    return paginationData;
}