List of usage examples for javax.persistence Query setFirstResult
Query setFirstResult(int startPosition);
From source file:com.mothsoft.alexis.dao.DocumentDaoImpl.java
public List<Document> listTopDocuments(Long userId, Date startDate, Date endDate, int count) { final StopWatch stopWatch = new StopWatch(); stopWatch.start();/*from w ww .j ava 2s. com*/ final Query query = this.em .createQuery("select d from Topic topic join topic.topicDocuments td join td.document d " + " where topic.userId = :userId " + " and td.creationDate > :startDate and td.creationDate < :endDate " + " and td.score > 0.2 " + " order by td.score desc"); query.setParameter("userId", userId); query.setParameter("startDate", startDate); query.setParameter("endDate", endDate); query.setFirstResult(0); query.setMaxResults(count); query.setLockMode(LockModeType.NONE); @SuppressWarnings("unchecked") final List<Document> range = query.getResultList(); stopWatch.stop(); logger.debug(stopWatch.toString()); return range; }
From source file:de.iai.ilcd.model.dao.DataSetDao.java
/** * This search method can also be used for distributed search because it uses the common interface types of the * ServiceAPI/*from ww w .ja v a 2s . co m*/ * * @param <E> * interface name of "type" of objects to return, i.e. IProcessListVO, IFlowListVo, ... * @param dataSetClassType * Class object of T, i.e. IProcessListVO.class * @param params * search parameter as ParameterTool object * @param startPosition * start index for first search result * @param pageSize * size of one page of search results * @param sortCriterium * field name of object which is used for ordering * @param sortOrder * define the ordering of the result * @param mostRecentVersionOnly * flag to indicate if only the most recent version of a data set shall be returned if multiple versions * exist * @param stocks * stocks * @return list of objects of the given interface E */ public <E extends IDataSetListVO> List<E> searchDist(Class<E> dataSetClassType, ValueParser params, int startPosition, int pageSize, String sortCriterium, SortOrder sortOrder, boolean mostRecentVersionOnly, IDataStockMetaData[] stocks, IDataStockMetaData excludeStock, DistributedSearchLog log) { // avoid a lot of null checks if (params == null) { params = new ValueParser(); } LOGGER.trace("searching for {}", dataSetClassType.getName()); Query query = this.createQueryObject(params, sortCriterium, sortOrder, false, mostRecentVersionOnly, stocks, excludeStock); if (startPosition > 0) { query.setFirstResult(startPosition); } if (pageSize > 0) { query.setMaxResults(pageSize); } List<E> dataSets = query.getResultList(); if (LOGGER.isTraceEnabled()) { for (IDataSetListVO ds : dataSets) { LOGGER.trace("name: {}, defaultname: {}", ds.getName().getValue(), ds.getDefaultName()); } } // OK, search also in other systems if (params.exists("distributed") && params.getBoolean("distributed")) { LOGGER.info("initiating distributed search"); ForeignDataSetsHelper foreignHelper = new ForeignDataSetsHelper(); List<E> foreignProcesses = foreignHelper.foreignSearch(dataSetClassType, params, log); if (foreignProcesses != null) { LOGGER.debug("returning {} results from foreign nodes", foreignProcesses.size()); } dataSets.addAll(foreignProcesses); } return dataSets; }
From source file:org.medici.bia.dao.volume.VolumeDAOJpaImpl.java
/** * {@inheritDoc}/*from w w w .j a v a 2 s . c o m*/ */ @Override public Page searchVolumesByDigitization(Integer volNum, Integer volNumBetween, PaginationFilter paginationFilter) throws PersistenceException { Page page = new Page(paginationFilter); Query query = null; //String toSearch = new String("FROM People WHERE personId IN (SELECT DISTINCT person.personId FROM org.medici.bia.domain.PoLink WHERE titleOccList.titleOccId=" + titleOccToSearch + ")"); //MD: The next query is builded for test if is possible order result by date of Title Occupation String toSearch = new String("FROM Volume WHERE volNum >= " + volNum + " AND volNum <= " + volNumBetween + " AND logicalDelete = false"); if (paginationFilter.getTotal() == null) { String countQuery = "SELECT COUNT(*) " + toSearch; query = getEntityManager().createQuery(countQuery); page.setTotal(new Long((Long) query.getSingleResult())); } //MD: We have a pagination filter already parameterized //paginationFilter = generatePaginationFilterMYSQL(paginationFilter); query = getEntityManager().createQuery(toSearch + getOrderByQuery(paginationFilter.getSortingCriterias())); query.setFirstResult(paginationFilter.getFirstRecord()); query.setMaxResults(paginationFilter.getLength()); page.setList(query.getResultList()); return page; }
From source file:org.apache.roller.weblogger.business.jpa.JPAWeblogManagerImpl.java
public List getMostCommentedWeblogs(Date startDate, Date endDate, int offset, int length) throws WebloggerException { Query query = null; if (endDate == null) endDate = new Date(); if (startDate != null) { Timestamp start = new Timestamp(startDate.getTime()); Timestamp end = new Timestamp(endDate.getTime()); query = strategy.getNamedQuery("WeblogEntryComment.getMostCommentedWebsiteByEndDate&StartDate"); query.setParameter(1, end);/* www . j av a2s . co m*/ query.setParameter(2, start); } else { Timestamp end = new Timestamp(endDate.getTime()); query = strategy.getNamedQuery("WeblogEntryComment.getMostCommentedWebsiteByEndDate"); query.setParameter(1, end); } if (offset != 0) { query.setFirstResult(offset); } if (length != -1) { query.setMaxResults(length); } List queryResults = query.getResultList(); List results = new ArrayList(); for (Iterator iter = queryResults.iterator(); iter.hasNext();) { Object[] row = (Object[]) iter.next(); StatCount sc = new StatCount((String) row[1], // website id (String) row[2], // website handle (String) row[3], // website name "statCount.weblogCommentCountType", // stat type ((Long) row[0]).longValue()); // # comments sc.setWeblogHandle((String) row[2]); results.add(sc); } // Original query ordered by desc # comments. // JPA QL doesn't allow queries to be ordered by agregates; do it in memory Collections.sort(results, statCountCountReverseComparator); return results; }
From source file:de.iai.ilcd.model.dao.DataSetDao.java
/** * This method (local lsearch) works as lsearch method for datasets only on local database entities, i.e. Process, * Flow, ... To use a lsearch method which * also works distributed use the corresponding lsearch method * /* w w w .ja v a 2 s. com*/ * @param <T> * Class name of "type" of objects to return, i.e. Process, Flow, ... * @param params * lsearch parameters as key-value pairs * @param startPosition * start index within the whole list of lsearch results * @param pageSize * pages size, i.e. maximum count of results to return * @param sortCriterium * name of the objects field which should be used for sorting * @param ascending * define ordering of result * @param mostRecentVersionOnly * flag to indicate if only the most recent version of a data set shall be returned if multiple versions * exist * @param stocks * stocks * @param excludeStock * stock that shall be excluded from the search (may be <code>null</code>) * @return list of datasets of type T matching the lsearch criteria */ @SuppressWarnings("unchecked") public List<T> lsearch(ValueParser params, int startPosition, int pageSize, String sortCriterium, boolean ascending, boolean mostRecentVersionOnly, IDataStockMetaData[] stocks, IDataStockMetaData excludeStock) { List<T> dataSets = null; Query query = this.createQueryObject(params, sortCriterium, ascending ? SortOrder.ASCENDING : SortOrder.DESCENDING, false, mostRecentVersionOnly, stocks, excludeStock); if (startPosition > 0) { query.setFirstResult(startPosition); } if (pageSize > 0) { query.setMaxResults(pageSize); } dataSets = query.getResultList(); return dataSets; }
From source file:com.lhfs.fsn.dao.testReport.impl.TestReportDaoImpl.java
/** * //from w ww .j a v a 2s . c o m * @author longxianzhen 20150807 */ @SuppressWarnings("unchecked") @Override public List<TestResult> getReportsOfDealerAllPassWithPage(String config, int page, int pageSize) throws DaoException { try { String sql = " SELECT tr.id,tr.service_order,tr.publish_flag,tr.last_modify_time," + "ip.batch_serial_no,ip.production_date,p.`name` ,tr.last_modify_user," + "tr.back_result,tr.back_time,p.barcode FROM test_result tr " + "LEFT JOIN product_instance ip ON ip.id=tr.sample_id " + "LEFT JOIN product p ON p.id=ip.product_id "; sql += config; Query query = entityManager.createNativeQuery(sql); query.setFirstResult((page - 1) * pageSize); query.setMaxResults(pageSize); List<Object[]> objs = query.getResultList(); List<TestResult> trs = new ArrayList<TestResult>(); if (objs != null && objs.size() > 0) { for (Object[] obj : objs) { TestResult tr = new TestResult(); tr.setId(obj[0] != null ? Long.parseLong(obj[0].toString()) : -1L); tr.setServiceOrder(obj[1] != null ? obj[1].toString() : ""); tr.setPublishFlag((Character) obj[2]); tr.setLastModifyTime(obj[3] == null ? null : (Date) obj[3]); ProductInstance pi = new ProductInstance(); pi.setBatchSerialNo(obj[4] != null ? obj[4].toString() : ""); pi.setProductionDate(obj[5] == null ? null : (Date) obj[5]); Product pro = new Product(); pro.setName(obj[6] != null ? obj[6].toString() : ""); pro.setPackageFlag('0'); pro.setBarcode(obj[10] != null ? obj[10].toString() : ""); pi.setProduct(pro); pi.getProduct().setPackageFlag('0'); tr.setSample(pi); tr.setLastModifyUserName(obj[7] != null ? obj[7].toString() : ""); tr.setBackResult(obj[8] != null ? obj[8].toString() : ""); tr.setBackTime(obj[9] == null ? null : (Date) obj[9]); trs.add(tr); } } return trs; } catch (Exception e) { e.printStackTrace(); throw new DaoException("TestReportDaoImpl.getReportsOfDealerAllPassWithPage()-->" + e.getMessage(), e); } }
From source file:portal.api.impl.PortalJpaController.java
@SuppressWarnings("unchecked") public List<VxFMetadata> readVxFsMetadataForOwnerID(Long ownerid, int firstResult, int maxResults) { EntityManager entityManager = entityManagerFactory.createEntityManager(); // Query q = entityManager.createQuery("SELECT m FROM VxFMetadata m"); Query q; if ((ownerid != null) && (ownerid >= 0)) q = entityManager/*from w w w .j a va 2s. c o m*/ .createQuery("SELECT a FROM VxFMetadata a WHERE a.owner.id=" + ownerid + " ORDER BY a.id"); else q = entityManager.createQuery("SELECT a FROM VxFMetadata a ORDER BY a.id"); q.setFirstResult(firstResult); q.setMaxResults(maxResults); return q.getResultList(); }
From source file:com.sun.socialsite.userapi.UserManagerImpl.java
public List<User> getUsersStartingWith(String startsWith, Boolean enabled, int offset, int length) throws UserManagementException { List<User> users = new ArrayList<User>(); Query query = null; if (enabled != null) { if (startsWith != null) { query = getNamedQuery("User.findByUserIdOrEmailAddressPattern&Enabled"); query.setParameter("enabled", enabled); query.setParameter("pattern", startsWith + '%'); } else {//from ww w .j a v a 2s. c o m query = getNamedQuery("User.findByEnabled"); query.setParameter("enabled", enabled); } } else { if (startsWith != null) { query = getNamedQuery("User.findByUserIdOrEmailAddressPattern"); query.setParameter("pattern", startsWith + '%'); } else { query = getNamedQuery("User.getAll"); } } if (offset != 0) { query.setFirstResult(offset); } if (length != -1) { query.setMaxResults(length); } List results = query.getResultList(); if (results != null) { for (Object obj : results) { users.add((User) obj); } } return users; }
From source file:portal.api.impl.PortalJpaController.java
@SuppressWarnings("unchecked") public List<ExperimentMetadata> readAppsMetadataForOwnerID(Long ownerid, int firstResult, int maxResults) { EntityManager entityManager = entityManagerFactory.createEntityManager(); // Query q = entityManager.createQuery("SELECT m FROM VxFMetadata m"); Query q; if ((ownerid != null) && (ownerid >= 0)) q = entityManager.createQuery(/*from w w w .ja v a 2s . c om*/ "SELECT a FROM ExperimentMetadata a WHERE a.owner.id=" + ownerid + " ORDER BY a.id"); else q = entityManager.createQuery("SELECT a FROM ExperimentMetadata a ORDER BY a.id"); q.setFirstResult(firstResult); q.setMaxResults(maxResults); return q.getResultList(); }
From source file:com.lhfs.fsn.dao.testReport.impl.TestReportDaoImpl.java
/** * ??/*from w w w. ja va 2 s.c o m*/ * @param businessUnit * @param page * @param pageSize * @return */ public List<ProductJGVO> getProductByProducerBusinessUnit(BusinessUnit businessUnit, int page, int pageSize) { String sql = "select p.id,p.name,p.format,p.status,p.product_type," + "(SELECT pci.name FROM product_category_info pci WHERE pci.id = p.category_id) categoryName "; sql += " FROM product p where p.producer_id=?1"; Query query = entityManager.createNativeQuery(sql); query.setParameter(1, businessUnit.getId()); query.setFirstResult((page - 1) * pageSize); query.setMaxResults(pageSize); query.getResultList(); List<Object[]> objs = query.getResultList(); List<ProductJGVO> proList = new ArrayList<ProductJGVO>(); for (Object[] obj : objs) { ProductJGVO e = new ProductJGVO(); e.setId(obj[0] == null ? null : Long.parseLong(obj[0].toString())); e.setProName(obj[1] == null ? null : obj[1].toString()); e.setFormat(obj[2] == null ? null : obj[2].toString()); e.setStatus(obj[3] == null ? null : obj[3].toString()); e.setProductType(obj[4] == null ? null : Integer.parseInt(obj[4].toString()) == 2 ? "" : "?"); e.setCategoryName(obj[5] == null ? null : obj[5].toString()); proList.add(e); } return proList; }