List of usage examples for org.hibernate.criterion Restrictions like
public static SimpleExpression like(String propertyName, Object value)
From source file:com.fich.wafproject.dao.UserDaoImpl.java
public List<Users> findAll(int pageNumber, String[] targets, String[] names, String[] values, boolean pagination) { int pageSize = 4; Criteria crit = this.createEntityCriteria(); crit.setProjection(Projections.distinct(Projections.property("id"))); String dateFrom = "", dateTo = "", targetDate = ""; if (names != null) { for (String alias : names) { crit.createAlias(alias, alias); }/*w ww . ja v a 2 s .c o m*/ } int count = 0; if (values != null) { for (String value : values) { if (!value.equals("") && value != null) { if (targets[count].contains("date")) { if (dateFrom != "") { dateTo = value; } else { dateFrom = value; targetDate = targets[count]; } } else { crit.add(Restrictions.like(targets[count], "%" + value + "%")); } } count++; } if (targetDate != "") { if (dateFrom != "" && dateTo == "") { dateTo = dateFrom; } DateFormat format = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH); try { Date dateF = format.parse(dateFrom); Date dateT = format.parse(dateTo); crit.add(Restrictions.between(targetDate, dateF, dateT)); } catch (ParseException ex) { Logger.getLogger(UserDaoImpl.class.getName()).log(Level.SEVERE, null, ex); } } } if (pagination) { crit.setFirstResult((pageNumber - 1) * pageSize); crit.setMaxResults(pageSize); } List<Users> users = new ArrayList<Users>(); for (Object idEvent : crit.list()) { // System.out.println(idEvent); users.add(this.findById((Long) idEvent)); } return (List<Users>) users; }
From source file:com.fich.wafproject.dao.UserHistoryDaoImpl.java
public List<UsersHistory> filter(String[] values, String[] names, String[] targets, int pageNumber, String role) {/*from w w w. j av a 2s.com*/ int pageSize = 6; int count = 0; boolean filterByUserProperty = false, filterByUserName = false; Criteria crit = this.createEntityCriteria();//.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); crit.setProjection(Projections.distinct(Projections.property("id"))); String dateFrom = "", dateTo = "", targetDate = ""; if (names != null) { for (String alias : names) { crit.createAlias(alias, alias); if (alias.equals("user")) filterByUserProperty = true; } } if (!filterByUserProperty && !role.equals("")) crit.createAlias("user", "user"); if (values != null) { for (String value : values) { if (!value.equals("") && value != null) { if (targets[count].contains("date")) { if (dateFrom != "") { dateTo = value; } else { dateFrom = value; targetDate = targets[count]; } } else { if (targets[count].contains("userName")) filterByUserName = true; crit.add(Restrictions.like(targets[count], "%" + value + "%")); } } count++; } if (targetDate != "") { if (dateFrom != "" && dateTo == "") { dateTo = dateFrom; } DateFormat format = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH); try { Date dateF = format.parse(dateFrom); Date dateT = format.parse(dateTo); crit.add(Restrictions.between(targetDate, dateF, dateT)); } catch (ParseException ex) { Logger.getLogger(UserHistoryDaoImpl.class.getName()).log(Level.SEVERE, null, ex); } } } if (!filterByUserName && !role.equals("")) crit.add(Restrictions.like("user.userName", role)); crit.setFirstResult((pageNumber - 1) * pageSize); crit.setMaxResults(pageSize); List<UsersHistory> events = new ArrayList<UsersHistory>(); for (Object idEvent : crit.list()) { events.add(this.findById((Long) idEvent)); } return (List<UsersHistory>) events; }
From source file:com.floreantpos.model.dao.CustomerDAO.java
License:Open Source License
public List<Customer> findBy(String mobile, String loyalty, String name) { Session session = null;//from w w w . j a va2 s. c o m try { session = getSession(); Criteria criteria = session.createCriteria(getReferenceClass()); Disjunction disjunction = Restrictions.disjunction(); if (StringUtils.isNotEmpty(mobile)) disjunction.add(Restrictions.like(Customer.PROP_MOBILE_NO, "%" + mobile + "%")); //$NON-NLS-1$ //$NON-NLS-2$ if (StringUtils.isNotEmpty(loyalty)) disjunction.add(Restrictions.like(Customer.PROP_LOYALTY_NO, "%" + loyalty + "%")); //$NON-NLS-1$ //$NON-NLS-2$ if (StringUtils.isNotEmpty(name)) disjunction.add(Restrictions.like(Customer.PROP_FIRST_NAME, "%" + name + "%")); //$NON-NLS-1$ //$NON-NLS-2$ criteria.add(disjunction); return criteria.list(); } finally { if (session != null) { closeSession(session); } } }
From source file:com.floreantpos.model.dao.CustomerDAO.java
License:Open Source License
public List<Customer> findBy(String searchString) { Session session = null;/*from ww w. j a v a2 s .co m*/ try { session = getSession(); Criteria criteria = session.createCriteria(getReferenceClass()); Disjunction disjunction = Restrictions.disjunction(); if (StringUtils.isNotEmpty(searchString)) disjunction.add(Restrictions.like(Customer.PROP_MOBILE_NO, "%" + searchString + "%")); disjunction.add(Restrictions.like(Customer.PROP_LOYALTY_NO, "%" + searchString + "%")); disjunction.add(Restrictions.like(Customer.PROP_FIRST_NAME, "%" + searchString + "%")); criteria.add(disjunction); return criteria.list(); } finally { if (session != null) { closeSession(session); } } }
From source file:com.floreantpos.model.dao.DiscountDAO.java
License:Open Source License
public Discount getDiscountByBarcode(String barcode) { Session session = null;/*w w w .ja v a 2 s.com*/ Criteria criteria = null; try { session = createNewSession(); criteria = session.createCriteria(Discount.class); criteria.add(Restrictions.like(Discount.PROP_BARCODE, barcode)); List<Discount> result = criteria.list(); if (result == null || result.isEmpty()) { return null; } return (Discount) result.get(0); } finally { closeSession(session); } }
From source file:com.floreantpos.model.dao.MenuItemDAO.java
License:Open Source License
public MenuItem getMenuItemByBarcode(String barcode) { Session session = null;//from w w w . ja va 2 s .c o m Criteria criteria = null; try { session = createNewSession(); criteria = session.createCriteria(MenuItem.class); criteria.add(Restrictions.like(MenuItem.PROP_BARCODE, barcode)); List<MenuItem> result = criteria.list(); if (result == null || result.isEmpty()) { return null; } return (MenuItem) result.get(0); } finally { closeSession(session); } }
From source file:com.fourgenius.www.public_access.registration.student.Jp_registration_student_informations.java
private String generate_student_id() { String branch;/*from ww w .j a va 2s .com*/ String level; String course; String batch; String group; String year; String weekOrEnd; long regNo; String preid; if (_rb_registration_student_information_form_colombo.isSelected()) { branch = "C"; } else if (_rb_registration_student_information_form_negombo.isSelected()) { branch = "N"; } else { branch = "K"; } if (_cb_registration_student_personalInformations_studentDetails_course_level.getSelectedItem().toString() .equals("Diploma Level")) { level = ""; } else { String[] lid = _cb_registration_student_personalInformations_studentDetails_course_level .getSelectedItem().toString().split("-"); level = lid[1].toString(); } String[] cid = _cb_registration_student_personalInformations_studentDetails_course.getSelectedItem() .toString().split("-"); course = cid[1].toString(); batch = _cb_registration_student_batch.getSelectedItem().toString(); group = _cb_registration_student_group.getSelectedItem().toString(); String as = _yc_student_registration_year.getYear() + ""; String ye[] = as.split(""); year = ye[2] + ye[3]; weekOrEnd = _cb_registration_student_weekOrEnd.getSelectedItem().toString(); Criteria c = s.createCriteria(StuInfoPersonal.class); if (level.equals("G") || level.equals("I")) { preid = branch + level + course + "-" + new SimpleDateFormat("ddMMyyyy").format(new Date()); c.add(Restrictions.like("stuUserInfoId", preid + "%")); } else { if (level.equals("")) { preid = branch + course + "-" + batch + group + "-" + year + "-" + weekOrEnd; c.add(Restrictions.like("stuUserInfoId", preid + "%")); } else { preid = branch + level + course + "-" + batch + group + "-" + year + "-" + weekOrEnd; c.add(Restrictions.like("stuUserInfoId", preid + "%")); } } regNo = (long) c.setProjection(Projections.rowCount()).uniqueResult() + 1; String ID = preid + "-" + regNo; _lb_registration_student_preview_studentID.setText(ID); // String id = "ID"; // String st = "ST"; // stu_user_info user_info = new stu_user_info(); // String countid = user_info.getStu_user_info_id(); // int idcount = Integer.parseInt(countid); // int id_no = ++idcount; // // String a = Integer.toString(id_no); // int length = a.length(); // System.out.println(length); // // String idn = Integer.toString(id_no); // String zeros; // if (length == 1) { // zeros = "00000"; // } else if (length == 2) { // zeros = "0000"; // } else if (length == 3) { // zeros = "000"; // } else if (length == 4) { // zeros = "00"; // } else if (length == 5) { // zeros = "0"; // } else { // zeros = ""; // } // // if (_rb_registration_student_information_form_colombo.isSelected()) { // branch_name = "COL"; // } else { // branch_name = "KAN"; // } // String lecture_id = id + "-" + st + "-" + branch_name + "-" + zeros + idn; // _lb_registration_student_preview_studentID.setText(lecture_id); return ID; }
From source file:com.glaf.base.utils.HibernateUtil.java
License:Apache License
/** * // w w w . j a v a2s.c om * @param map * @param forClass * @return */ public static DetachedCriteria getCriteria(Map<String, String> map, Class<?> forClass) { DetachedCriteria detachedCriteria = DetachedCriteria.forClass(forClass); Set<String> params = map.keySet(); // boolean createAliased = false; if (params != null) { Map<String, String> aliasMap = new java.util.HashMap<String, String>();// ?? int aliasNum = 0;// ??? Iterator<String> it = params.iterator(); while (it.hasNext()) { String key = (String) it.next(); String value = map.get(key) == null ? null : map.get(key).toString(); value = value == null ? value : value.trim(); if (key.startsWith(QUERY_PREFIX) && value != null && value.trim().length() > 0) { // ?? String name = key.substring(QUERY_PREFIX.length()); // ?? "=" String op = "eq"; if (name.indexOf("_") != -1) { int pos = name.lastIndexOf("_"); op = name.substring(pos + 1); name = name.substring(0, pos); } if ("me".equals(op)) { // ????? String maintAlias = detachedCriteria.getAlias(); // ? string detachedCriteria.add(Restrictions.sqlRestriction(maintAlias + "_." + name + "=" + value)); } else if ("zns".equals(op)) { // // ? string detachedCriteria.add(Restrictions.sqlRestriction(" 1 = 2 ")); } else if ("mn".equals(op)) { // ????? String maintAlias = detachedCriteria.getAlias(); // ? string detachedCriteria.add(Restrictions.sqlRestriction(maintAlias + "_." + name + " is NULL ")); } else if ("mnn".equals(op)) { // ????? String maintAlias = detachedCriteria.getAlias(); // ? string detachedCriteria .add(Restrictions.sqlRestriction(maintAlias + "_." + name + " is not NULL ")); } else if ("md".equals(op)) { // ????? String maintAlias = detachedCriteria.getAlias(); // ? string detachedCriteria.add(Restrictions.sqlRestriction(maintAlias + "_." + name + "=?", DateUtils.toDate(value), StandardBasicTypes.DATE)); } else if ("mis".equals(op)) { // in( ?_select ) String maintAlias = detachedCriteria.getAlias(); // ? string detachedCriteria.add( Restrictions.sqlRestriction(maintAlias + "_." + name + " in (" + value + ") ")); } else if ("xd".equals(op)) { // . date // ? string int pos = name.lastIndexOf("."); String alias = name.substring(0, pos); name = name.substring(pos + 1); if (aliasMap.get(alias) == null) { detachedCriteria.createAlias(alias, alias); aliasNum++; aliasMap.put(alias, getNewAliasName(alias, aliasNum)); } detachedCriteria.add(Restrictions.sqlRestriction(aliasMap.get(alias) + name + "=? ", DateUtils.toDate(value), StandardBasicTypes.DATE)); } else if ("xs".equals(op)) { // . String // ? string int pos = name.lastIndexOf("."); String alias = name.substring(0, pos); name = name.substring(pos + 1); if (aliasMap.get(alias) == null) { detachedCriteria.createAlias(alias, alias); aliasNum++; aliasMap.put(alias, getNewAliasName(alias, aliasNum)); } detachedCriteria .add(Restrictions.sqlRestriction(aliasMap.get(alias) + name + "='" + value + "' ")); } else if ("xe".equals(op)) { // . if (!value.equals("") && Integer.parseInt(value) > 0) { int pos = name.lastIndexOf("."); String alias = name.substring(0, pos); name = name.substring(pos + 1); if (aliasMap.get(alias) == null) { detachedCriteria.createAlias(alias, alias); aliasNum++; aliasMap.put(alias, getNewAliasName(alias, aliasNum)); } detachedCriteria .add(Restrictions.sqlRestriction(aliasMap.get(alias) + name + "=" + value)); } } else if ("ixe".equals(op)) { // . if (!value.equals("") && Integer.parseInt(value) >= 0) { int pos = name.lastIndexOf("."); String alias = name.substring(0, pos); name = name.substring(pos + 1); if (aliasMap.get(alias) == null) { detachedCriteria.createAlias(alias, alias); aliasNum++; aliasMap.put(alias, getNewAliasName(alias, aliasNum)); } detachedCriteria .add(Restrictions.sqlRestriction(aliasMap.get(alias) + name + "=" + value)); } } else if ("xel".equals(op)) { // . if (!value.equals("") && Long.parseLong(value) != -1) { int pos = name.lastIndexOf("."); String alias = name.substring(0, pos); name = name.substring(pos + 1); if (aliasMap.get(alias) == null) { detachedCriteria.createAlias(alias, alias); aliasNum++; aliasMap.put(alias, getNewAliasName(alias, aliasNum)); } detachedCriteria .add(Restrictions.sqlRestriction(aliasMap.get(alias) + name + "=" + value)); } } else if ("xne".equals(op)) { // . if (!value.equals("") && Integer.parseInt(value) != -1) { int pos = name.lastIndexOf("."); String alias = name.substring(0, pos); name = name.substring(pos + 1); if (aliasMap.get(alias) == null) { detachedCriteria.createAlias(alias, alias); aliasNum++; aliasMap.put(alias, getNewAliasName(alias, aliasNum)); } detachedCriteria .add(Restrictions.sqlRestriction(aliasMap.get(alias) + name + "<>" + value)); } } else if ("xi".equals(op)) { // . in () String int pos = name.lastIndexOf("."); String alias = name.substring(0, pos); name = name.substring(pos + 1); if (aliasMap.get(alias) == null) { detachedCriteria.createAlias(alias, alias); aliasNum++; aliasMap.put(alias, getNewAliasName(alias, aliasNum)); } // ? string detachedCriteria.add( Restrictions.sqlRestriction(aliasMap.get(alias) + name + " in (" + value + ") ")); } else if ("xl".equals(op)) { // like . String int pos = name.lastIndexOf("."); String alias = name.substring(0, pos); name = name.substring(pos + 1); if (aliasMap.get(alias) == null) { detachedCriteria.createAlias(alias, alias); aliasNum++; aliasMap.put(alias, getNewAliasName(alias, aliasNum)); } detachedCriteria.add(Restrictions .sqlRestriction(aliasMap.get(alias) + name + " like '%" + value + "%'")); } else if (op.startsWith("xdate")) { // Date String dateOp = "="; if ("xdatelt".equals(op)) { dateOp = "<"; } else if ("xdategt".equals(op)) { dateOp = ">"; } else if ("xdatele".equals(op)) { dateOp = "<="; } else if ("xdatege".equals(op)) { dateOp = ">="; } int pos = name.lastIndexOf("."); String alias = name.substring(0, pos); name = name.substring(pos + 1); if (aliasMap.get(alias) == null) { detachedCriteria.createAlias(alias, alias); aliasNum++; aliasMap.put(alias, getNewAliasName(alias, aliasNum)); } detachedCriteria.add(Restrictions.sqlRestriction(aliasMap.get(alias) + name + dateOp + "?", DateUtils.toDate(value), StandardBasicTypes.DATE)); } else if (op.startsWith("date")) { // Date String dateOp = "="; if ("datelt".equals(op)) { dateOp = "<"; } else if ("dategt".equals(op)) { dateOp = ">"; } else if ("datele".equals(op)) { dateOp = "<="; } else if ("datege".equals(op)) { dateOp = ">="; } detachedCriteria.add(Restrictions.sqlRestriction(name + dateOp + "?", DateUtils.toDate(value), StandardBasicTypes.DATE)); } /* * else if(op.equals("double")){ //Double String doubleOp * = "="; if("double".equals(op)){ } } */else if ("like".equals(op)) { // like detachedCriteria.add(Restrictions.like(name, "%" + value + "%")); } else if ("es".equals(op)) { // if(Integer.parseInt(value) != -1){ detachedCriteria .add(Restrictions.sqlRestriction(name + " = ? ", value, StandardBasicTypes.STRING)); // } } else if ("ex".equals(op)) { // =int if (Integer.parseInt(value) != -1) { detachedCriteria.add(Restrictions.eq(name, new Integer(value))); } } else if ("el".equals(op)) { // =long if (Long.parseLong(value) != -1) { detachedCriteria.add(Restrictions.eq(name, new Long(value))); } } else if ("ed".equals(op)) { // =double if (Double.parseDouble(value) != -1) { detachedCriteria.add(Restrictions.eq(name, new Double(value))); } } else if ("nei".equals(op)) { // <>int if (Integer.parseInt(value) != -1) { detachedCriteria.add(Restrictions.ne(name, new Integer(value))); } } else if ("nel".equals(op)) { // <>long if (Long.parseLong(value) != -1) { detachedCriteria.add(Restrictions.ne(name, new Long(value))); } } else if ("in".equals(op)) { // in () if (!"".trim().equals(value)) { String maintAlias = detachedCriteria.getAlias(); detachedCriteria.add( Restrictions.sqlRestriction(maintAlias + "_." + name + " in (" + value + ") ")); // detachedCriteria.add(Restrictions // .sqlRestriction(name + " in (" + value // + ") ")); } } else if ("nin".equals(op)) { // not in () if (!"".trim().equals(value)) { String maintAlias = detachedCriteria.getAlias(); detachedCriteria.add(Restrictions .sqlRestriction(maintAlias + "_." + name + " not in (" + value + ") ")); // detachedCriteria.add(Restrictions // .sqlRestriction(name + " not in (" + value // + ") ")); } } else { detachedCriteria.add(Restrictions.eq(name, value)); } } else if (key.startsWith(ORDER_PREFIX)) { // ????? //order__asc(desc) ? hidden String name = key.substring(ORDER_PREFIX.length()); int pos = name.lastIndexOf("."); if (pos != -1) { String alias = name.substring(0, pos); if (aliasMap.get(alias) == null) { detachedCriteria.createAlias(alias, alias); aliasNum++; aliasMap.put(alias, getNewAliasName(alias, aliasNum)); } } if (value.trim().equalsIgnoreCase("asc")) { detachedCriteria.addOrder(Order.asc(name)); } else { detachedCriteria.addOrder(Order.desc(name)); } } } map.putAll(aliasMap); } return detachedCriteria; }
From source file:com.green.common.service.BaseService.java
License:Open Source License
/** * ?// ww w .j av a 2 s . co m * @param user ?UserUtils.getUser()?? * @param officeAlias ??dc.createAlias("office", "office"); * @param userAlias ??? * @return ? */ protected static Junction dataScopeFilter(User user, String officeAlias, String userAlias) { // ???? List<String> dataScope = Lists.newArrayList(); Junction junction = Restrictions.disjunction(); // ??? if (!user.isAdmin()) { for (Role r : user.getRoleList()) { if (!dataScope.contains(r.getDataScope()) && StringUtils.isNotBlank(officeAlias)) { boolean isDataScopeAll = false; if (Role.DATA_SCOPE_ALL.equals(r.getDataScope())) { isDataScopeAll = true; } else if (Role.DATA_SCOPE_COMPANY_AND_CHILD.equals(r.getDataScope())) { junction.add(Restrictions.eq(officeAlias + ".id", user.getCompany().getId())); junction.add(Restrictions.like(officeAlias + ".parentIds", user.getCompany().getParentIds() + user.getCompany().getId() + ",%")); } else if (Role.DATA_SCOPE_COMPANY.equals(r.getDataScope())) { junction.add(Restrictions.eq(officeAlias + ".id", user.getCompany().getId())); junction.add(Restrictions.and( Restrictions.eq(officeAlias + ".parent.id", user.getCompany().getId()), Restrictions.eq(officeAlias + ".type", "2"))); // ? } else if (Role.DATA_SCOPE_OFFICE_AND_CHILD.equals(r.getDataScope())) { junction.add(Restrictions.eq(officeAlias + ".id", user.getOffice().getId())); junction.add(Restrictions.like(officeAlias + ".parentIds", user.getOffice().getParentIds() + user.getOffice().getId() + ",%")); } else if (Role.DATA_SCOPE_OFFICE.equals(r.getDataScope())) { junction.add(Restrictions.eq(officeAlias + ".id", user.getOffice().getId())); } else if (Role.DATA_SCOPE_CUSTOM.equals(r.getDataScope())) { junction.add(Restrictions.in(officeAlias + ".id", r.getOfficeIdList())); } //else if (Role.DATA_SCOPE_SELF.equals(r.getDataScope())){ if (!isDataScopeAll) { if (StringUtils.isNotBlank(userAlias)) { junction.add(Restrictions.eq(userAlias + ".id", user.getId())); } else { junction.add(Restrictions.isNull(officeAlias + ".id")); } } else { // ????? junction = Restrictions.disjunction(); break; } dataScope.add(r.getDataScope()); } } } return junction; }
From source file:com.green.modules.cms.service.ArticleService.java
License:Open Source License
@Transactional(readOnly = false) public Page<Article> find(Page<Article> page, Article article, boolean isDataScopeFilter) { // ??6??/*from w w w.ja v a 2s .c o m*/ Date updateExpiredWeightDate = (Date) CacheUtils.get("updateExpiredWeightDateByArticle"); if (updateExpiredWeightDate == null || (updateExpiredWeightDate != null && updateExpiredWeightDate.getTime() < new Date().getTime())) { articleDao.updateExpiredWeight(); CacheUtils.put("updateExpiredWeightDateByArticle", DateUtils.addHours(new Date(), 6)); } DetachedCriteria dc = articleDao.createDetachedCriteria(); dc.createAlias("category", "category"); dc.createAlias("category.site", "category.site"); if (article.getCategory() != null && StringUtils.isNotBlank(article.getCategory().getId()) && !Category.isRoot(article.getCategory().getId())) { Category category = categoryDao.get(article.getCategory().getId()); if (category != null) { dc.add(Restrictions.or(Restrictions.eq("category.id", category.getId()), Restrictions.like("category.parentIds", "%," + category.getId() + ",%"))); dc.add(Restrictions.eq("category.site.id", category.getSite().getId())); article.setCategory(category); } else { dc.add(Restrictions.eq("category.site.id", Site.getCurrentSiteId())); } } else { dc.add(Restrictions.eq("category.site.id", Site.getCurrentSiteId())); } if (StringUtils.isNotEmpty(article.getTitle())) { dc.add(Restrictions.like("title", "%" + article.getTitle() + "%")); } if (StringUtils.isNotEmpty(article.getPosid())) { dc.add(Restrictions.like("posid", "%," + article.getPosid() + ",%")); } if (StringUtils.isNotEmpty(article.getImage()) && Article.YES.equals(article.getImage())) { dc.add(Restrictions.and(Restrictions.isNotNull("image"), Restrictions.ne("image", ""))); } if (article.getCreateBy() != null && StringUtils.isNotBlank(article.getCreateBy().getId())) { dc.add(Restrictions.eq("createBy.id", article.getCreateBy().getId())); } if (isDataScopeFilter) { dc.createAlias("category.office", "categoryOffice").createAlias("createBy", "createBy"); dc.add(dataScopeFilter(UserUtils.getUser(), "categoryOffice", "createBy")); } dc.add(Restrictions.eq(Article.FIELD_DEL_FLAG, article.getDelFlag())); if (StringUtils.isBlank(page.getOrderBy())) { dc.addOrder(Order.desc("weight")); dc.addOrder(Order.desc("updateDate")); } return articleDao.find(page, dc); }