List of usage examples for org.hibernate.criterion Restrictions like
public static SimpleExpression like(String propertyName, Object value)
From source file:com.bookselling.dao.SystemInvoiceDaoImpl.java
@Override public PaginationData<SystemInvoice> filter(SystemInvoiceFilterForm form, int first, int items) { String keyword = form.getKeyword(); SystemInvoiceFilterType searchBy = form.getSearchBy(); Date fromDate = form.getFromDate(); Date toDate = form.getToDate(); SystemInvoiceOrderType orderBy = form.getOrderBy(); SortType sortType = form.getSortType(); Criteria criteria = getSession().createCriteria(SystemInvoice.class); criteria.createAlias("poster", "pst").createAlias("post", "ps").createAlias("pst.account", "acc"); if (keyword == null) { keyword = "%" + keyword + "%"; if (searchBy == SystemInvoiceFilterType.ACCOUNT) criteria.add(Restrictions.like("acc.username", keyword)); else if (searchBy == SystemInvoiceFilterType.POSTER) { Name name = new Name(); name.setName(keyword);//w w w . j a v a2 s .c o m criteria.add(Restrictions.like("pst.name", name)); } else if (searchBy == SystemInvoiceFilterType.POST_HEADER) criteria.add(Restrictions.like("ps.header", keyword)); } if (fromDate != null) criteria.add(Restrictions.ge("createdDate", fromDate)); if (toDate != null) criteria.add(Restrictions.le("createdDate", toDate)); String propertyName = null; if (orderBy == SystemInvoiceOrderType.ACCOUNT) propertyName = "acc.username"; else if (orderBy == SystemInvoiceOrderType.POSTER) propertyName = "pst.name"; else if (orderBy == SystemInvoiceOrderType.POST_HEADER) propertyName = "ps.header"; else if (orderBy == SystemInvoiceOrderType.DATE) propertyName = "createdDate"; //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(SystemInvoice.class); subCriteria.createAlias("poster", "pst").createAlias("post", "ps").createAlias("pst.account", "acc") .add(Restrictions.in("id", ids.size() > 0 ? ids : Arrays.asList(-1))) .addOrder(sortType == SortType.ASC ? Order.asc(propertyName) : Order.desc(propertyName)); Set<SystemInvoice> invoices = new LinkedHashSet<>(subCriteria.list()); HibernateInitSupport.setCls(SystemInvoice.class); for (SystemInvoice invoice : invoices) HibernateInitSupport.initDomain(invoice); PaginationData paginationData = new PaginationData(rowCount, items, first, invoices); return paginationData; }
From source file:com.bookselling.dao.TradeDaoImpl.java
private Object[] filterCriteria(TradeFilterForm form, int first, int items, int id) { String keyword = form.getKeyword(); TradeFilterType searchBy = form.getSearchBy(); Date fromDate = form.getFromDate(); Date toDate = form.getToDate(); Double fromPrice = form.getFromPrice(); Double toPrice = form.getToPrice(); TradeOrderType orderBy = form.getOrderBy(); SortType sortType = form.getSortType(); Criteria criteria = getSession().createCriteria(Trade.class); criteria.createAlias("buyer", "bye").createAlias("bye.account", "acc"); if (keyword != null) { keyword = "%" + keyword + "%"; if (searchBy == TradeFilterType.ADDRESS) { Address address = new Address(); address.setAddress(keyword); criteria.add(Restrictions.like("contact.address", address)); } else if (searchBy == TradeFilterType.PHONE) { PhoneNumber phone = new PhoneNumber(); phone.setPhoneNumber(keyword); criteria.add(Restrictions.like("contact.phoneNumber", phone)); }// w ww . j av a 2 s . c o m } 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 == TradeOrderType.BUYER) propertyName = "acc.username"; else if (orderBy == TradeOrderType.OWNER) propertyName = "bye.name"; else if (orderBy == TradeOrderType.DATE) propertyName = "createdDate"; else if (orderBy == TradeOrderType.PRICE) propertyName = "totalPrice"; if (id != -1) criteria.add(Restrictions.eq("bye.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(Trade.class); subCriteria.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.UserDaoImpl.java
@Override public PaginationData filter(UserFilterForm form, int first, int items) { Criteria criteria = getSession().createCriteria(User.class); //Get form data String keyword = form.getKeyword(); AccountStatus[] accStatus = form.getAccStatus(); UserFilterType searchBy = form.getSearchBy(); Date fromDate = form.getFromDate(); Date toDate = form.getToDate(); UserOrderType orderBy = form.getOrderBy(); SortType sortType = form.getSortType(); //To criteria criteria.createAlias("account", "acc").createAlias("acc.role", "rls").add(Restrictions.eq("rls.id", 1)); if (keyword != null && !keyword.isEmpty()) { keyword = "%" + keyword + "%"; if (searchBy == UserFilterType.ADDRESS) { Address address = new Address(); address.setAddress(keyword); criteria.add(Restrictions.like("contact.address", address)); } else if (searchBy == UserFilterType.EMAIL) { criteria.add(Restrictions.like("acc.email", keyword)); } else if (searchBy == UserFilterType.OWNER) { Name name = new Name(); name.setName(keyword);/* w w w. ja va 2 s . c o m*/ criteria.add(Restrictions.like("name", name)); } else if (searchBy == UserFilterType.PHONE) { PhoneNumber phone = new PhoneNumber(); phone.setPhoneNumber(keyword); criteria.add(Restrictions.like("contact.phone", phone)); } else if (searchBy == UserFilterType.USERNAME) { criteria.add(Restrictions.like("acc.username", keyword)); } } if (accStatus.length != 0) { criteria.add(Restrictions.in("acc.status", accStatus)); } if (fromDate != null) criteria.add(Restrictions.ge("acc.createdDate", fromDate)); if (toDate != null) criteria.add(Restrictions.le("acc.createdDate", toDate)); String propertyName = null; if (orderBy == UserOrderType.CREATEDDATE) propertyName = "acc.createdDate"; else if (orderBy == UserOrderType.NAME) propertyName = "name"; else if (orderBy == UserOrderType.STATUS) propertyName = "acc.status"; else if (orderBy == UserOrderType.USERNAME) propertyName = "acc.username"; //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(User.class); subCriteria.createAlias("account", "acc").createAlias("acc.role", "rls").add(Restrictions.eq("rls.id", 1)) .add(Restrictions.in("id", ids.size() > 0 ? ids : Arrays.asList(-1))) .addOrder(sortType == SortType.ASC ? Order.asc(propertyName) : Order.desc(propertyName)); //get list Set<User> users = new LinkedHashSet<>(subCriteria.list()); for (User user : users) { HibernateInitSupport.initUser(user); } //Pagination PaginationData paginationData = new PaginationData(rowCount, items, first, users); return paginationData; }
From source file:com.cai310.lottery.web.controller.ticket.TicketBaseController.java
private String getKenoTicketCode(Long schemeId) { XDetachedCriteria criteria = new XDetachedCriteria(Ticket.class, "t"); criteria.add(Restrictions.like("schemeNumber", "%" + schemeId.toString())); List<Ticket> tickets = queryService.findByDetachedCriteria(criteria); String ticketCode = null;//from www .j a v a 2s . c om for (Ticket ticket : tickets) { String ticketStr = ticket.getSchemeNumber(); ticketStr = ticketStr.substring(ticketStr.length() - 10); if (schemeId.equals(Long.valueOf(ticketStr))) { ticketCode = ticket.getRemoteTicketId(); } } if (ticketCode == null) { ticketCode = ""; } return ticketCode; }
From source file:com.catexpress.dao.impl.GenericDaoImpl.java
@Override public List<T> findBy(String field, Object value, Boolean isString) { List<T> list = null;//ww w .j av a 2s. c om try { s = HibernateUtil.getSessionFactory().getCurrentSession(); t = s.beginTransaction(); Criteria criteria = s.createCriteria(clase); if (isString) { criteria.add(Restrictions.like(field, "%" + value.toString() + "%")); } else { criteria.add(Restrictions.eq(field, value)); } list = criteria.list(); t.commit(); } catch (Exception e) { t.rollback(); throw e; } return list; }
From source file:com.cfs.controller.AuthoritiesDAO.java
public Authorities buscaAuthorities(String authority) throws Exception { Authorities retorno = null;//from w w w . j ava 2 s .c o m try { session = HibernateUtil.getSessionFactory().openSession(); Criteria criteria = session.createCriteria(Authorities.class); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); criteria.add(Restrictions.like("authority", authority)); if (criteria.list().size() > 1) { System.out.println(Utilities.getInstance().getLineNumber() + "[buscaAuthorities (" + authority + ")][ERRO] criteria.list().size() = " + criteria.list().size()); } retorno = (Authorities) criteria.uniqueResult(); } catch (Exception e) { throw new Exception(e.getMessage()); } finally { session.close(); } return retorno; }
From source file:com.cimmyt.model.dao.impl.CompanyDAOImpl.java
License:Apache License
/** * //from ww w .ja v a2 s .c om * @param criteria * @param companyFilter */ protected void buildCriteria(DetachedCriteria criteria, Company companyFilter) { if (companyFilter.getIdCompany() != null) { criteria.add(Restrictions.eq("idCompany", companyFilter.getIdCompany())); } if (companyFilter.getName() != null && companyFilter.getName().trim().length() > 0) { criteria.add(Restrictions.like("name", "%" + companyFilter.getName() + "%")); } }
From source file:com.cimmyt.model.dao.impl.InvestigatorDAOImpl.java
License:Apache License
@Override protected void buildCriteria(DetachedCriteria criteria, Investigator filter) { // TODO Auto-generated method stub if (filter.getInvestigatorid() != null) { criteria.add(Restrictions.eq("investigatorid", filter.getInvestigatorid())); }/* w w w .j av a 2s . c o m*/ if (filter.getInvest_name() != null && !filter.getInvest_name().isEmpty()) { criteria.add(Restrictions.like("invest_name", "%" + filter.getInvest_name() + "%")); } if (filter.isStatus()) criteria.add(Restrictions.eq("status", filter.isStatus())); }
From source file:com.cimmyt.model.dao.impl.LabStudyDAOImpl.java
License:Apache License
@Override protected void buildCriteria(DetachedCriteria criteria, LabStudy filter) { if (filter.getLabstudyid() != null) { criteria.add(Restrictions.eq("labstudyid", filter.getLabstudyid())); }/*from w w w . j a v a 2 s .c o m*/ if (filter.getInvestigatorid() != null) { criteria.add(Restrictions.eq("investigatorid", filter.getInvestigatorid())); } if (StrUtils.notEmpty(filter.getTitle())) { criteria.add(Restrictions.like("title", "%" + filter.getTitle() + "%")); } }
From source file:com.cimmyt.model.dao.impl.LabStudyDAOImpl.java
License:Apache License
@Override protected void buildCriteria(DetachedCriteria criteria, LabStudy filter, Integer id) { criteria.createAlias("studytemplateid", "tmplate", CriteriaSpecification.LEFT_JOIN) .createAlias("status", "st", CriteriaSpecification.LEFT_JOIN) .createAlias("project", "proj", CriteriaSpecification.LEFT_JOIN) .createAlias("investigatorid", "invest", CriteriaSpecification.LEFT_JOIN); if (filter != null && filter.getLabstudyid() != null) { criteria.add(Restrictions.eq("labstudyid", filter.getLabstudyid())); }//from w w w.j a v a 2 s. c o m if (idstRol != null) { switch (idstRol) { case ConstantsDNA.ROLE_RESEARCHER: case ConstantsDNA.ROLE_RESEARCHER_ASSISTENT: case ConstantsDNA.ROLE_ASSISTENT: if (filter != null && filter.getInvestigatorid() != null) { criteria.add(Restrictions.eq("investigatorid.investigatorid", filter.getInvestigatorid())); } if (id != null) { if (id.intValue() > 0) criteria.add(Restrictions.eq("investigatorid.investigatorid", id)); } break; } } else { if (filter != null && filter.getInvestigatorid() != null) { criteria.add(Restrictions.eq("investigatorid.investigatorid", filter.getInvestigatorid())); } } if (filter != null && StrUtils.notEmpty(filter.getTitle())) { criteria.add(Restrictions.like("title", "%" + filter.getTitle() + "%")); } if (filter != null && StrUtils.notEmpty(filter.getPrefix())) { criteria.add(Restrictions.like("prefix", filter.getPrefix(), MatchMode.ANYWHERE)); } criteria.addOrder(Order.desc("labstudyid")); }