List of usage examples for org.hibernate.criterion Projections id
public static IdentifierProjection id()
From source file:com.arg.arsoft.siantluis.repository.imp.PaymentRepository.java
@Override public Map findByQuery(PaymentQuery query) { int pageSize = Configs.PAGE_SIZE; Criteria criteria = factory.getCurrentSession().createCriteria(Payment.class); if (query.getCode() != null && !query.getCode().equals("")) { if (query.getCode().contains("*") || query.getCode().contains("?")) { criteria.add(Restrictions.like("code", query.getCode().replace("*", "%").replace("?", "_"))); } else {//from ww w. j a v a 2 s .com criteria.add(Restrictions.eq("code", query.getCode())); } } if (query.getName() != null && !query.getName().equals("")) { if (query.getName().contains("*") || query.getName().contains("?")) { criteria.add(Restrictions.like("name", query.getName().replace("*", "%").replace("?", "_"))); } else { criteria.add(Restrictions.eq("name", query.getName())); } } if (query.getPaymentBy() != null && !query.getPaymentBy().equals("")) { criteria.createAlias("paymentBy", "p", JoinType.LEFT_OUTER_JOIN); criteria.add(Restrictions.eq("p.code", query.getCode())); } if (query.getPaymentDateFrom() != null) { criteria.add(Restrictions.ge("paymentDate", query.getPaymentDateFrom())); } if (query.getPaymentDateTo() != null) { criteria.add(Restrictions.le("paymentDate", query.getPaymentDateTo())); } if (query.getDepartment() != null && query.getDepartment() != 0) { criteria.createAlias("department", "d", JoinType.LEFT_OUTER_JOIN); criteria.add(Restrictions.eq("d.id", query.getDepartment())); } if (query.getBranch() != null && query.getBranch() != 0) { criteria.createAlias("branch", "b", JoinType.LEFT_OUTER_JOIN); criteria.add(Restrictions.eq("b.id", query.getBranch())); } long totalRecord = (long) criteria.setProjection(Projections.count(Projections.id().toString())) .uniqueResult(); criteria.setProjection(null); int start = ((query.getPage() - 1) * pageSize); // fetch assco criteria.setFetchMode("paymentBy", FetchMode.JOIN); criteria.setFetchMode("department", FetchMode.JOIN); criteria.setFetchMode("branch", FetchMode.JOIN); List<Payment> result = criteria.setResultTransformer(Criteria.ROOT_ENTITY).setFirstResult(start) .setMaxResults(pageSize).list(); long totalPage = totalRecord / pageSize; if ((totalRecord % pageSize) > 0) { totalPage++; } List<Integer> pages = new ArrayList<Integer>(); for (int index = 1; index <= totalPage; index++) { pages.add(index); } Map data = new HashMap(); data.put("list", result); data.put("totalPage", totalPage); data.put("totalRecord", totalRecord); data.put("pages", pages); System.out.println(pages.size()); return data; }
From source file:com.arg.arsoft.siantluis.repository.imp.ProductRepository.java
@Override public Map findByQuery(ProductQuery query) { int pageSize = Configs.PAGE_SIZE; Criteria criteria = factory.getCurrentSession().createCriteria(Product.class); if (query.getCode() != null && !query.getCode().equals("")) { if (query.getCode().contains("*") || query.getCode().contains("?")) { criteria.add(org.hibernate.criterion.Restrictions.like("code", query.getCode().replace("*", "%").replace("?", "_"))); } else {//from w w w .j a v a2s . c om criteria.add(org.hibernate.criterion.Restrictions.eq("code", query.getCode())); } } if (query.getName() != null && !query.getName().equals("")) { if (query.getName().contains("*") || query.getName().contains("?")) { criteria.add(org.hibernate.criterion.Restrictions.like("name", query.getName().replace("*", "%").replace("?", "_"))); } else { criteria.add(org.hibernate.criterion.Restrictions.eq("name", query.getName())); } } if (query.getSupplier() != null && !query.getSupplier().equals("")) { criteria.createAlias("supplier", "s", JoinType.LEFT_OUTER_JOIN); criteria.add(org.hibernate.criterion.Restrictions.eq("s.code", query.getSupplier())); } if (query.getActive() != null && !query.getActive().equals("")) { ProductActive active = ProductActive.valueOf(query.getActive()); criteria.add(org.hibernate.criterion.Restrictions.eq("active", active)); } long totalRecord = (long) criteria.setProjection(Projections.count(Projections.id().toString())) .uniqueResult(); int start = ((query.getPage() - 1) * pageSize); criteria.setProjection(null); criteria.setFetchMode("supplier", FetchMode.EAGER); List<Product> result = criteria.setFirstResult(start).setMaxResults(pageSize) .setResultTransformer(Criteria.ROOT_ENTITY).list(); long totalPage = totalRecord / pageSize; if ((totalRecord % pageSize) > 0) { totalPage++; } List<Integer> pages = new ArrayList<Integer>(); for (int index = 1; index <= totalPage; index++) { pages.add(index); } Map data = new HashMap(); data.put("list", result); data.put("totalPage", totalPage); data.put("totalRecord", totalRecord); data.put("pages", pages); return data; }
From source file:com.arg.arsoft.siantluis.repository.imp.ProjectRepository.java
@Override public Map findByQuery(ProjectQuery query) { int pageSize = Configs.PAGE_SIZE; Criteria criteria = factory.getCurrentSession().createCriteria(Project.class); if (query.getCode() != null && !query.getCode().equals("")) { if (query.getCode().contains("*") || query.getCode().contains("?")) { criteria.add(Restrictions.like("code", query.getCode().replace("*", "%").replace("?", "_"))); } else {/*from w w w . jav a2 s. c o m*/ criteria.add(Restrictions.eq("code", query.getCode())); } } if (query.getName() != null && !query.getName().equals("")) { if (query.getName().contains("*") || query.getName().contains("?")) { criteria.add(Restrictions.like("name", query.getName().replace("*", "%").replace("?", "_"))); } else { criteria.add(Restrictions.eq("name", query.getName())); } } long totalRecord = (long) criteria.setProjection(Projections.count(Projections.id().toString())) .uniqueResult(); criteria.setProjection(null); int start = ((query.getPage() - 1) * pageSize); List<Project> result = criteria.setFirstResult(start).setMaxResults(pageSize) .setResultTransformer(Criteria.ROOT_ENTITY).list(); long totalPage = totalRecord / pageSize; if ((totalRecord % pageSize) > 0) { totalPage++; } List<Integer> pages = new ArrayList<Integer>(); for (int index = 1; index <= totalPage; index++) { pages.add(index); } Map data = new HashMap(); data.put("list", result); data.put("totalPage", totalPage); data.put("totalRecord", totalRecord); data.put("pages", pages); System.out.println(pages.size()); return data; }
From source file:com.arg.arsoft.siantluis.repository.imp.PurchaseRepository.java
@Override public Map findByQuery(PurchaseQuery query) { int pageSize = Configs.PAGE_SIZE; Criteria criteria = factory.getCurrentSession().createCriteria(Purchase.class); if (query.getCode() != null && !query.getCode().equals("")) { if (query.getCode().contains("*") || query.getCode().contains("?")) { criteria.add(Restrictions.like("code", query.getCode().replace("*", "%").replace("?", "_"))); } else {// www . java 2s .c o m criteria.add(Restrictions.eq("code", query.getCode())); } } if (query.getName() != null && !query.getName().equals("")) { if (query.getName().contains("*") || query.getName().contains("?")) { criteria.add(Restrictions.like("name", query.getName().replace("*", "%").replace("?", "_"))); } else { criteria.add(Restrictions.eq("name", query.getName())); } } if (query.getPurchaseDateStart() != null) { criteria.add(Restrictions.ge("purchaseDate", query.getPurchaseDateStart())); } if (query.getPurchaseDateEnd() != null) { criteria.add(Restrictions.le("purchaseDate", query.getPurchaseDateEnd())); } if (query.getPurchaseBy() != null && !query.getPurchaseBy().equals("")) { criteria.createAlias("purchaseBy", "e", JoinType.LEFT_OUTER_JOIN); criteria.add(Restrictions.eq("e.code", query.getPurchaseBy())); } if (query.getSupplier() != null && !query.getSupplier().equals("")) { criteria.createAlias("supplier", "s", JoinType.LEFT_OUTER_JOIN); criteria.add(Restrictions.eq("s.code", query.getSupplier())); } if (query.getDepartment() != null && query.getDepartment() != 0) { criteria.createAlias("department", "d", JoinType.LEFT_OUTER_JOIN); criteria.add(Restrictions.eq("d.id", query.getDepartment())); } if (query.getBranch() != null && query.getBranch() != 0) { criteria.createAlias("branch", "b", JoinType.LEFT_OUTER_JOIN); criteria.add(Restrictions.eq("b.id", query.getBranch())); } if (query.getStatus() != null && !query.getStatus().equals("")) { PurchaseStatus status = PurchaseStatus.valueOf(query.getStatus()); criteria.add(Restrictions.eq("status", status)); } long totalRecord = (long) criteria.setProjection(Projections.count(Projections.id().toString())) .uniqueResult(); criteria.setProjection(null); int start = ((query.getPage() - 1) * pageSize); criteria.setFetchMode("department", FetchMode.JOIN); criteria.setFetchMode("branch", FetchMode.JOIN); criteria.setFetchMode("supplier", FetchMode.JOIN); criteria.setFetchMode("purchaseBy", FetchMode.JOIN); List<Purchase> result = criteria.setFirstResult(start).setMaxResults(pageSize) .setResultTransformer(Criteria.ROOT_ENTITY).list(); long totalPage = totalRecord / pageSize; if ((totalRecord % pageSize) > 0) { totalPage++; } List<Integer> pages = new ArrayList<Integer>(); for (int index = 1; index <= totalPage; index++) { pages.add(index); } Map data = new HashMap(); data.put("list", result); data.put("totalPage", totalPage); data.put("totalRecord", totalRecord); data.put("pages", pages); System.out.println(pages.size()); return data; }
From source file:com.arg.arsoft.siantluis.repository.imp.ReservationRepository.java
@Override public Map findByQuery(ReservationQuery query) { int pageSize = Configs.PAGE_SIZE; Criteria criteria = factory.getCurrentSession().createCriteria(Reservation.class); if (query.getCode() != null && !query.getCode().equals("")) { if (query.getCode().contains("*") || query.getCode().contains("?")) { criteria.add(Restrictions.like("code", query.getCode().replace("*", "%").replace("?", "_"))); } else {//from ww w .j a v a 2 s . c o m criteria.add(Restrictions.eq("code", query.getCode())); } } if (query.getDescription() != null && !query.getDescription().equals("")) { if (query.getDescription().contains("*") || query.getDescription().contains("?")) { criteria.add(Restrictions.like("description", query.getDescription().replace("*", "%").replace("?", "*"))); } else { criteria.add(Restrictions.eq("description", query.getDescription())); } } if (query.getRequestBy() != null && !query.getRequestBy().equals("")) { criteria.createAlias("reservationBy", "em", JoinType.LEFT_OUTER_JOIN); criteria.add(Restrictions.eq("em.code", query.getRequestBy())); } if (query.getReservationDateFrom() != null) { criteria.add(Restrictions.ge("reservationDate", query.getReservationDateFrom())); } if (query.getReservationDateTo() != null) { criteria.add(Restrictions.le("reservationDate", query.getReservationDateTo())); } long totalRecord = (long) criteria.setProjection(Projections.count(Projections.id().toString())) .uniqueResult(); int start = ((query.getPage() - 1) * pageSize); criteria.setProjection(null); criteria.setFetchMode("reservationBy", FetchMode.JOIN); List<Reservation> result = criteria.setFirstResult(start).setMaxResults(pageSize) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list(); long totalPage = totalRecord / pageSize; if ((totalRecord % pageSize) > 0) { totalPage++; } List<Integer> pages = new ArrayList<Integer>(); for (int index = 1; index <= totalPage; index++) { pages.add(index); } Map data = new HashMap(); data.put("list", result); data.put("totalPage", totalPage); data.put("totalRecord", totalRecord); data.put("pages", pages); return data; }
From source file:com.arg.arsoft.siantluis.repository.imp.RoleRepository.java
@Override public Map findByQuery(RoleQuery query) { int pageSize = Configs.PAGE_SIZE; Criteria criteria = factory.getCurrentSession().createCriteria(Role.class); if (query.getCode() != null && !query.getCode().equals("")) { if (query.getCode().contains("*") || query.getCode().contains("?")) { criteria.add(Restrictions.like("code", query.getCode().replace("*", "%").replace("?", "_"))); } else {//from w w w . jav a2s . c o m criteria.add(Restrictions.eq("code", query.getCode())); } } if (query.getName() != null && !query.getName().equals("")) { if (query.getName().contains("*") || query.getName().contains("?")) { criteria.add(Restrictions.like("name", query.getName().replace("*", "%").replace("?", "_"))); } else { criteria.add(Restrictions.eq("name", query.getName())); } } long totalRecord = (long) criteria.setProjection(Projections.count(Projections.id().toString())) .uniqueResult(); int start = ((query.getPage() - 1) * pageSize); criteria.setProjection(null); List<Role> result = criteria.setFirstResult(start).setMaxResults(pageSize) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list(); long totalPage = totalRecord / pageSize; if ((totalRecord % pageSize) > 0) { totalPage++; } List<Integer> pages = new ArrayList<Integer>(); for (int index = 1; index <= totalPage; index++) { pages.add(index); } Map data = new HashMap(); data.put("list", result); data.put("totalPage", totalPage); data.put("totalRecord", totalRecord); data.put("pages", pages); return data; }
From source file:com.arg.arsoft.siantluis.repository.imp.SupplierRepository.java
@Override public Map findByQuery(SupplierQuery query) { int pageSize = Configs.PAGE_SIZE; Criteria criteria = factory.getCurrentSession().createCriteria(Supplier.class); // criteria.createAlias("address.amphur","a",JoinType.LEFT_OUTER_JOIN); if (query.getCode() != null && !query.getCode().equals("")) { if (query.getCode().contains("*") || query.getCode().contains("?")) { criteria.add(Expression.like("code", query.getCode().replace("*", "%").replace("?", "_"))); } else {// w ww . j a va 2s . c o m criteria.add(Expression.eq("code", query.getCode())); } } if (query.getName() != null && !query.getName().equals("")) { if (query.getName().contains("*") || query.getName().contains("?")) { criteria.add(Expression.like("name", query.getName().replace("*", "%").replace("?", "_"))); } else { criteria.add(Expression.eq("name", query.getName())); } } if (query.getCompany() != null && !query.getCompany().equals("")) { if (query.getCompany().contains("*") || query.getCompany().contains("?")) { criteria.add(Expression.like("compny", query.getCompany().replace("*", "%").replace("?", "_"))); } else { criteria.add(Expression.eq("compny", query.getCompany())); } } if (query.getContactName() != null && !query.getContactName().equals("")) { if (query.getContactName().contains("*") || query.getContactName().contains("?")) { criteria.add(Expression.like("contact.contactName", query.getContactName().replace("*", "%").replace("?", "_"))); } else { criteria.add(Expression.eq("contact.contactName", query.getContactName())); } } if (query.getProvince() != null && query.getProvince() != 0) { criteria.createAlias("address.province", "p", JoinType.LEFT_OUTER_JOIN); criteria.add(Expression.eq("p.id", query.getProvince())); } long totalRecord = (long) criteria.setProjection(Projections.count(Projections.id().toString())) .uniqueResult(); criteria.setProjection(null); int start = ((query.getPage() - 1) * pageSize); criteria.setFetchMode("address.province", FetchMode.JOIN); criteria.setFetchMode("address.amphur", FetchMode.JOIN); List<Supplier> result = criteria.setFirstResult(start).setMaxResults(pageSize) .setResultTransformer(Criteria.ROOT_ENTITY).list(); long totalPage = totalRecord / pageSize; if ((totalRecord % pageSize) > 0) { totalPage++; } List<Integer> pages = new ArrayList<Integer>(); for (int index = 1; index <= totalPage; index++) { pages.add(index); } Map data = new HashMap(); data.put("list", result); data.put("totalPage", totalPage); data.put("totalRecord", totalRecord); data.put("pages", pages); System.out.println(pages.size()); return data; }
From source file:com.arg.arsoft.siantluis.repository.imp.UserRepository.java
@Override public Map findByQuery(UserQuery query) { int pageSize = Configs.PAGE_SIZE; Criteria criteria = factory.getCurrentSession().createCriteria(User.class); if (query.getCode() != null && !query.getCode().equals("")) { if (query.getCode().contains("*") || query.getCode().contains("?")) { criteria.add(Restrictions.like("code", query.getCode().replace("*", "%").replace("?", "_"))); } else {//from www .j ava2 s . com criteria.add(Restrictions.eq("code", query.getCode())); } } if (query.getName() != null && !query.getName().equals("")) { if (query.getName().contains("*") || query.getName().contains("?")) { criteria.add(Restrictions.like("name", query.getName().replace("*", "%").replace("?", "_"))); } else { criteria.add(Restrictions.eq("name", query.getName())); } } long totalRecord = (long) criteria.setProjection(Projections.count(Projections.id().toString())) .uniqueResult(); int start = ((query.getPage() - 1) * pageSize); criteria.setProjection(null); List<User> result = criteria.setFirstResult(start).setMaxResults(pageSize) .setResultTransformer(Criteria.ROOT_ENTITY).list(); long totalPage = totalRecord / pageSize; if ((totalRecord % pageSize) > 0) { totalPage++; } List<Integer> pages = new ArrayList<Integer>(); for (int index = 1; index <= totalPage; index++) { pages.add(index); } Map data = new HashMap(); data.put("list", result); data.put("totalPage", totalPage); data.put("totalRecord", totalRecord); data.put("pages", pages); return data; }
From source file:com.billing.ng.dao.impl.GenericDAOImpl.java
License:Open Source License
/** * Returns true if a persisted record exsits for the given id. * * This method requires an underlying Hibernate persistence provider. * * @param id primary key of entity//from w w w.j a va 2s . c om * @return true if entity exists for id, false if entity does not exist */ public boolean isIdPersisted(ID id) { Criteria criteria = createCritiera().add(Restrictions.idEq(id)).setProjection(Projections.id()); return !criteria.list().isEmpty(); }
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 . j ava 2 s. com 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 }; }