List of usage examples for org.hibernate.criterion Restrictions like
public static SimpleExpression like(String propertyName, Object value)
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; }