List of usage examples for org.hibernate.criterion DetachedCriteria setResultTransformer
public DetachedCriteria setResultTransformer(ResultTransformer resultTransformer)
From source file:com.hypersocket.repository.AbstractRepositoryImpl.java
License:Open Source License
@SuppressWarnings("unchecked") @Transactional(readOnly = true)/*from w ww . ja va 2 s. c o m*/ protected <T> List<T> list(String column, Object value, Class<T> cls, boolean caseInsensitive, DetachedCriteriaConfiguration... configs) { DetachedCriteria criteria = createDetachedCriteria(cls); if (caseInsensitive) { criteria.add(Restrictions.eq(column, value).ignoreCase()); } else { criteria.add(Restrictions.eq(column, value)); } for (DetachedCriteriaConfiguration c : configs) { c.configure(criteria); } criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); @SuppressWarnings("rawtypes") List results = hibernateTemplate.findByCriteria(criteria); return results; }
From source file:com.hypersocket.repository.AbstractRepositoryImpl.java
License:Open Source License
@SuppressWarnings("unchecked") @Transactional(readOnly = true)//from w w w .j a v a 2s . c o m protected <T> T get(String column, Object value, Class<T> cls, boolean caseInsensitive, DetachedCriteriaConfiguration... configs) { DetachedCriteria criteria = createDetachedCriteria(cls); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); if (caseInsensitive) { criteria.add(Restrictions.eq(column, value).ignoreCase()); } else { criteria.add(Restrictions.eq(column, value)); } for (DetachedCriteriaConfiguration c : configs) { c.configure(criteria); } @SuppressWarnings("rawtypes") List results = hibernateTemplate.findByCriteria(criteria); if (results.isEmpty()) { return null; } else if (results.size() > 1) { if (log.isWarnEnabled()) { log.warn("Too many results returned in get request for column=" + column + " value=" + value + " class=" + cls.getName()); } } return (T) results.get(0); }
From source file:com.hypersocket.repository.AbstractRepositoryImpl.java
License:Open Source License
@SuppressWarnings("unchecked") @Transactional(readOnly = true)// w w w .j a v a 2s . c o m protected <T> T get(Class<T> cls, DetachedCriteriaConfiguration... configs) { DetachedCriteria criteria = createDetachedCriteria(cls); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); for (DetachedCriteriaConfiguration c : configs) { c.configure(criteria); } @SuppressWarnings("rawtypes") List results = hibernateTemplate.findByCriteria(criteria); if (results.isEmpty()) { return null; } else if (results.size() > 1) { throw new IllegalStateException("Too many results returned in get request class=" + cls.getName()); } return (T) results.get(0); }
From source file:com.hypersocket.repository.AbstractRepositoryImpl.java
License:Open Source License
@SuppressWarnings("unchecked") @Transactional(readOnly = true)//from w w w. jav a2 s. c om protected <T> List<T> allEntities(Class<T> cls, DetachedCriteriaConfiguration... configs) { DetachedCriteria criteria = createDetachedCriteria(cls); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); criteria.add(Restrictions.eq("deleted", false)); for (DetachedCriteriaConfiguration c : configs) { c.configure(criteria); } return (List<T>) hibernateTemplate.findByCriteria(criteria); }
From source file:com.hypersocket.repository.DistinctRootEntity.java
License:Open Source License
@Override public void configure(DetachedCriteria criteria) { criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); }
From source file:com.jgeppert.struts2.jquery.grid.showcase.action.JsonOrdersAction.java
License:Apache License
public String execute() { log.debug("Page " + getPage() + " Rows " + getRows() + " Sorting Order " + getSord() + " Index Row :" + getSidx());/*w ww.jav a 2 s . c o m*/ log.debug("Search :" + searchField + " " + searchOper + " " + searchString); // Calcalate until rows ware selected int to = (rows * page); // Calculate the first row to read int from = to - rows; // Criteria to Build SQL DetachedCriteria criteria = DetachedCriteria.forClass(Orders.class); if (id != null) { criteria.createAlias("customer", "c"); criteria.add(Restrictions.eq("c.customernumber", id)); } // Handle Search if (searchField != null) { if (searchField.equals("customernumber")) { Integer searchValue = Integer.parseInt(searchString); if (searchOper.equals("eq")) criteria.add(Restrictions.eq("ordernumber", searchValue)); else if (searchOper.equals("ne")) criteria.add(Restrictions.ne("ordernumber", searchValue)); else if (searchOper.equals("lt")) criteria.add(Restrictions.lt("ordernumber", searchValue)); else if (searchOper.equals("gt")) criteria.add(Restrictions.gt("ordernumber", searchValue)); } else if (searchField.equals("status") || searchField.equals("comments")) { if (searchOper.equals("eq")) criteria.add(Restrictions.eq(searchField, searchString)); else if (searchOper.equals("ne")) criteria.add(Restrictions.ne(searchField, searchString)); else if (searchOper.equals("bw")) criteria.add(Restrictions.like(searchField, searchString + "%")); else if (searchOper.equals("cn")) criteria.add(Restrictions.like(searchField, "%" + searchString + "%")); } if (searchField.equals("customer")) { Integer searchValue = Integer.parseInt(searchString); criteria.createAlias("customer", "c"); if (searchOper.equals("eq")) criteria.add(Restrictions.eq("c.customernumber", searchValue)); else if (searchOper.equals("ne")) criteria.add(Restrictions.ne("c.customernumber", searchValue)); else if (searchOper.equals("lt")) criteria.add(Restrictions.lt("c.customernumber", searchValue)); else if (searchOper.equals("gt")) criteria.add(Restrictions.gt("c.customernumber", searchValue)); } } // Count Orders records = ordersDao.countByCriteria(criteria); // Reset count Projection criteria.setProjection(null); criteria.setResultTransformer(Criteria.ROOT_ENTITY); // Handle Order By if (sidx != null && !sidx.equals("")) { if (!sidx.equals("customer")) { if (sord.equals("asc")) criteria.addOrder(Order.asc(sidx)); else criteria.addOrder(Order.desc(sidx)); } else { if (sord.equals("asc")) criteria.addOrder(Order.asc("customer.customernumber")); else criteria.addOrder(Order.desc("customer.customernumber")); } } // Get Customers by Criteria gridModel = ordersDao.findByCriteria(criteria, from, rows); // Set to = max rows if (to > records) to = records; // Calculate total Pages total = (int) Math.ceil((double) records / (double) rows); return SUCCESS; }
From source file:com.jgeppert.struts2.jquery.grid.showcase.action.JsonTableAction.java
License:Apache License
public String execute() { log.debug("Page " + getPage() + " Rows " + getRows() + " Sorting Order " + getSord() + " Index Row :" + getSidx());//from w w w . j ava 2s.c o m log.debug("Search :" + searchField + " " + searchOper + " " + searchString); // Calcalate until rows ware selected int to = (rows * page); // Calculate the first row to read int from = to - rows; // Criteria to Build SQL DetachedCriteria criteria = DetachedCriteria.forClass(Customers.class); // Handle Search if (searchField != null) { if (searchField.equals("customernumber")) { Integer searchValue = Integer.parseInt(searchString); if (searchOper.equals("eq")) criteria.add(Restrictions.eq("customernumber", searchValue)); else if (searchOper.equals("ne")) criteria.add(Restrictions.ne("customernumber", searchValue)); else if (searchOper.equals("lt")) criteria.add(Restrictions.lt("customernumber", searchValue)); else if (searchOper.equals("gt")) criteria.add(Restrictions.gt("customernumber", searchValue)); } else if (searchField.equals("country") || searchField.equals("city") || searchField.equals("addressLine1") || searchField.equals("contactfirstname") || searchField.equals("contactlastname") || searchField.equals("customername")) { if (searchOper.equals("eq")) criteria.add(Restrictions.eq(searchField, searchString)); else if (searchOper.equals("ne")) criteria.add(Restrictions.ne(searchField, searchString)); else if (searchOper.equals("bw")) criteria.add(Restrictions.like(searchField, searchString + "%")); else if (searchOper.equals("cn")) criteria.add(Restrictions.like(searchField, "%" + searchString + "%")); } else if (searchField.equals("creditlimit")) { Double searchValue = Double.parseDouble(searchString); if (searchOper.equals("eq")) criteria.add(Restrictions.eq("creditlimit", searchValue)); else if (searchOper.equals("ne")) criteria.add(Restrictions.ne("creditlimit", searchValue)); else if (searchOper.equals("lt")) criteria.add(Restrictions.lt("creditlimit", searchValue)); else if (searchOper.equals("gt")) criteria.add(Restrictions.gt("creditlimit", searchValue)); } if (searchField.equals("employeenumber")) { Integer searchValue = Integer.parseInt(searchString); criteria.createAlias("salesemployee", "se"); if (searchOper.equals("eq")) criteria.add(Restrictions.eq("se.employeenumber", searchValue)); else if (searchOper.equals("ne")) criteria.add(Restrictions.ne("se.employeenumber", searchValue)); else if (searchOper.equals("lt")) criteria.add(Restrictions.lt("se.employeenumber", searchValue)); else if (searchOper.equals("gt")) criteria.add(Restrictions.gt("se.employeenumber", searchValue)); } } // Count Customers records = customersDao.countByCriteria(criteria); // Reset count Projection criteria.setProjection(null); criteria.setResultTransformer(Criteria.ROOT_ENTITY); // Handle Order By if (sidx != null && !sidx.equals("")) { if (!sidx.equals("employeenumber")) { if (sord.equals("asc")) criteria.addOrder(Order.asc(sidx)); else criteria.addOrder(Order.desc(sidx)); } else { if (sord.equals("asc")) criteria.addOrder(Order.asc("salesemployee.employeenumber")); else criteria.addOrder(Order.desc("salesemployee.employeenumber")); } } // Get Customers by Criteria gridModel = customersDao.findByCriteria(criteria, from, rows); // Set to = max rows if (to > records) to = records; // Calculate total Pages total = (int) Math.ceil((double) records / (double) rows); return SUCCESS; }
From source file:com.myapp.core.base.dao.impl.AbstractBaseDao.java
public Criteria findByDetachedCriteria(Class claz, DetachedCriteria dca) throws QueryException { dca.setResultTransformer(new MyResultTransFormer(claz)); return dca.getExecutableCriteria(getCurrentSession()); }
From source file:com.nowgroup.scsee.geo.state.HibernateStateRepository.java
License:MIT License
@SuppressWarnings("unchecked") @Override//www.java2 s . c o m public List<GeoState> getStatesByCountryId(int countryId) { DetachedCriteria dc = DetachedCriteria.forClass(GeoState.class); DetachedCriteria countryCriteria = dc.createCriteria("country"); countryCriteria.add(Restrictions.eq("id", countryId)); countryCriteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); return (List<GeoState>) getHibernateTemplate().findByCriteria(dc); }
From source file:com.opengamma.masterdb.batch.DbBatchMaster.java
License:Open Source License
@Override @SuppressWarnings("unchecked") public Pair<List<RiskRun>, Paging> searchRiskRun(final BatchRunSearchRequest request) { s_logger.info("Searching BatchDocuments: ", request); final DetachedCriteria criteria = DetachedCriteria.forClass(RiskRun.class); if (request.getValuationTime() != null) { criteria.add(Restrictions.eq("valuationTime", request.getValuationTime())); }/*from w w w . ja va2s . co m*/ if (request.getVersionCorrection() != null) { criteria.add(Restrictions.eq("versionCorrection", request.getVersionCorrection())); } if (request.getMarketDataUid() != null) { criteria.createCriteria("marketData") .add(Restrictions.eq("baseUidScheme", request.getMarketDataUid().getScheme())) .add(Restrictions.eq("baseUidValue", request.getMarketDataUid().getValue())) .add(eqOrIsNull("baseUidVersion", request.getMarketDataUid().getVersion())); //.addOrder(Order.asc("baseUid")); } if (request.getViewDefinitionUid() != null) { criteria.add(Restrictions.eq("viewDefinitionUidScheme", request.getViewDefinitionUid().getScheme())) .add(Restrictions.eq("viewDefinitionUidValue", request.getViewDefinitionUid().getValue())) .add(eqOrIsNull("viewDefinitionUidVersion", request.getViewDefinitionUid().getVersion())); //.addOrder(Order.asc("viewDefinitionUid")); } return getTransactionTemplateRetrying(getMaxRetries()) .execute(new TransactionCallback<Pair<List<RiskRun>, Paging>>() { @Override public Pair<List<RiskRun>, Paging> doInTransaction(final TransactionStatus status) { // final PagingRequest pagingRequest = request.getPagingRequest(); List<RiskRun> results = Collections.emptyList(); Paging paging; if (!pagingRequest.equals(PagingRequest.NONE)) { if (pagingRequest.equals(PagingRequest.ALL)) { criteria.addOrder(Order.asc("valuationTime")); results = getHibernateTemplate().findByCriteria(criteria, pagingRequest.getFirstItem(), pagingRequest.getPagingSize()); // paging = Paging.of(pagingRequest, results); } else { criteria.setProjection(Projections.rowCount()); final Long totalCount = (Long) getHibernateTemplate().findByCriteria(criteria) .get(0); paging = Paging.of(pagingRequest, totalCount.intValue()); // criteria.setProjection(null); criteria.setResultTransformer(Criteria.ROOT_ENTITY); criteria.addOrder(Order.asc("valuationTime")); results = getHibernateTemplate().findByCriteria(criteria, pagingRequest.getFirstItem(), pagingRequest.getPagingSize()); } } else { paging = Paging.of(PagingRequest.NONE, 0); } return Pair.of(results, paging); } }); }