Example usage for javax.persistence Query setMaxResults

List of usage examples for javax.persistence Query setMaxResults

Introduction

In this page you can find the example usage for javax.persistence Query setMaxResults.

Prototype

Query setMaxResults(int maxResult);

Source Link

Document

Set the maximum number of results to retrieve.

Usage

From source file:com.xyz.framework.data.impl.JpaDao.java

/**
 * ./*from  w w  w.j  av a 2 s .  com*/
 * 
 * @param page
 *            ?.??orderBy?.
 * @param jdoQl
 *            hql?.
 * @param values
 *            ????,?.
 * 
 * @return , ??.
 */
@Transactional(propagation = Propagation.NOT_SUPPORTED, readOnly = true)
public Page<T> findPage(final Page<T> page) {
    Assert.notNull(page, "page?");
    String sql = getBaseSql();
    sql = dealOrder(sql, page);
    Query query = entityManager.createQuery(sql);
    if (page.isAutoCount()) {
        int totalCount = countJpaQlResult("");
        page.setTotalCount(totalCount);
    }
    query.setFirstResult(page.getStart());
    query.setMaxResults(page.getLimit());
    List<T> lt = query.getResultList();
    page.setResult(lt);
    return page;
}

From source file:com.xyz.framework.data.impl.JpaDao.java

/**
 * jdoQL.//from  w  w  w  .  j  a  v  a 2 s. co  m
 * 
 * @param page
 *            ?.??orderBy?.
 * @param jdoQl
 *            hql?.
 * @param values
 *            ????,?.
 * 
 * @return , ??.
 */
@Transactional(propagation = Propagation.NOT_SUPPORTED, readOnly = true)
public Page<T> findPage(final Page<T> page, final String jpaQl) {
    Assert.notNull(page, "page?");
    String sql = getBaseSql();
    if (jpaQl != null && jpaQl.trim().length() > 0)
        sql += " where " + jpaQl;
    sql = dealOrder(sql, page);
    Query query = entityManager.createQuery(sql);
    if (page.isAutoCount()) {
        int totalCount = countJpaQlResult(jpaQl);
        page.setTotalCount(totalCount);
    }
    query.setFirstResult(page.getStart());
    query.setMaxResults(page.getLimit());
    List<T> lt = query.getResultList();
    page.setResult(lt);
    return page;
}

From source file:org.broadleafcommerce.openadmin.server.service.persistence.module.criteria.CriteriaTranslatorImpl.java

protected void addPaging(Query response, Integer firstResult, Integer maxResults) {
    if (firstResult != null) {
        response.setFirstResult(firstResult);
    }//from  w ww .  j av a  2  s .c o  m
    if (maxResults != null) {
        response.setMaxResults(maxResults);
    }
}

From source file:com.xyz.framework.data.impl.JpaDao.java

/**
 * ,??.//from   w  w w . j av a2  s .c  o  m
 */
@Transactional(propagation = Propagation.NOT_SUPPORTED, readOnly = true)
public Page<T> findBy(final Page page, final String propertyName, final Object value) {
    Assert.hasText(propertyName, "propertyName?");
    Assert.notNull(value, "value?");
    final String filter = buildPropertyFilterCriterion(propertyName, value, MatchType.EQ);
    String sql = getBaseSql() + " where " + filter;
    sql = dealOrder(sql, page);
    Query query = entityManager.createQuery(sql);
    if (page.isAutoCount()) {
        int totalCount = countJpaQlResult(filter);
        page.setTotalCount(totalCount);
    }
    query.setFirstResult(page.getStart());
    query.setMaxResults(page.getLimit());
    List<T> lt = query.getResultList();
    page.setResult(lt);
    return page;
}

From source file:gwap.rest.LocationService.java

/**
 * Locations a user may visit in the App
 * @param latitude// ww w.  j a v a  2 s .  c  o  m
 * @param longitude
 * @param deviceId
 * @return
 */
@GET
@Produces(MediaType.APPLICATION_JSON)
@SuppressWarnings("unchecked")
public Response getGameLocations(@QueryParam("currentLatitude") String latitude,
        @QueryParam("currentLongitude") String longitude, @QueryParam("userid") String deviceId,
        @QueryParam("topic") Long topic) {

    if (latitude == null || longitude == null) {
        return Response.status(Response.Status.BAD_REQUEST).build();
    } else {
        Query locationQuery = entityManager.createNamedQuery("artResource.gameLocations");
        locationQuery.setParameter("virtualTaggingTypeId", topic);
        locationQuery.setParameter("deviceId", deviceId);
        locationQuery.setMaxResults(10);
        List<ArtResource> locations = locationQuery.getResultList();

        JSONArray gameLocations = new JSONArray();
        JSONObject gameLocationJSON;
        Double min, distance;
        int minIndex;
        ArtResource gameLocation;
        double currentLatitude = Double.parseDouble(latitude);
        double currentLongitude = Double.parseDouble(longitude);

        // Berechnet die Orte, die im Laufe des Spiels vom Spieler besucht werden
        // Dabei wird immer der geographisch nahste Ort zum Spieler, bzw. zum Tatort
        // zuvor berechnet
        for (int i = 0; i < 4; i++) {
            // Das erste Minimum ist der Abstand vom Spieler zur ersten Location
            gameLocation = locations.get(0);
            GeoPoint geoPoint = gameLocation.getShownLocation().getSingleGeoPoint();
            min = getDistance(currentLatitude, currentLongitude, geoPoint.getLatitude(),
                    geoPoint.getLongitude());
            minIndex = 0;
            // Fuer alle ueberigen Locations: Uberpruefen, ob eine dieser Locations naeher als die erste ist.
            for (int j = 1; j < locations.size(); j++) {
                gameLocation = locations.get(j);
                geoPoint = gameLocation.getShownLocation().getSingleGeoPoint();
                distance = getDistance(currentLatitude, currentLongitude, geoPoint.getLatitude(),
                        geoPoint.getLongitude());
                if (distance < min) {
                    min = distance;
                    minIndex = j;
                }
            }
            // Konstruiere das JSON-Objekt des gefundenen Ortes
            gameLocation = locations.get(minIndex);
            gameLocationJSON = new JSONObject();
            gameLocationJSON.put("id", gameLocation.getId());
            gameLocationJSON.put("name", gameLocation.getShownLocation().getName());
            gameLocationJSON.put("latitude", gameLocation.getShownLocation().getSingleGeoPoint().getLatitude());
            gameLocationJSON.put("longitude",
                    gameLocation.getShownLocation().getSingleGeoPoint().getLongitude());
            gameLocationJSON.put("distance", min);
            gameLocationJSON.put("imageData",
                    "/9j/4AAQSkZJRgABAQEBLAEsAAD/7RnuUGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAAccAgAAAgBtADhCSU0EJQAAAAAAEPb4nvFpKJtEmKJ0gv1yb4Q4QklNA+0AAAAAABABLAAAAAEAAgEsAAAAAQACOEJJTQQmAAAAAAAOAAAAAAAAAAAAAD+AAAA4QklNBA0AAAAAAAQAAAAeOEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAAAAAAAAAAAQA4QklNBAoAAAAAAAEAADhCSU0nEAAAAAAACgABAAAAAAAAAAI4QklNA/UAAAAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNA/gAAAAAAHAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0EHgAAAAAABAAAAAA4QklNBBoAAAAAA0UAAAAGAAAAAAAAAAAAAAXcAAAI2QAAAAgASQBNAEcAXwAwADEAMAA5AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAjZAAAF3AAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAF3AAAAABSZ2h0bG9uZwAACNkAAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9uZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2luAAAADWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAABmJvdW5kc09iamMA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OjQwOjA4ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIgeG1sbnM6eGFwPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOnhhcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB0aWZmOk9yaWVudGF0aW9uPSIxIiB0aWZmOllDYkNyUG9zaXRpb25pbmc9IjIiIHRpZmY6WFJlc29sdXRpb249IjMwMDAwMDAvMTAwMDAiIHRpZmY6WVJlc29sdXRpb249IjMwMDAwMDAvMTAwMDAiIHRpZmY6UmVzb2x1dGlvblVuaXQ9IjIiIHRpZmY6TWFrZT0iQ2Fub24iIHRpZmY6TW9kZWw9IkNhbm9uIEVPUyA0MDBEIERJR0lUQUwiIHRpZmY6TmF0aXZlRGlnZXN0PSIyNTYsMjU3LDI1OCwyNTksMjYyLDI3NCwyNzcsMjg0LDUzMCw1MzEsMjgyLDI4MywyOTYsMzAxLDMxOCwzMTksNTI5LDUzMiwzMDYsMjcwLDI3MSwyNzIsMzA1LDMxNSwzMzQzMjtDNkNGMjVFQjExNDk2NTY5QzI3QjcxRTNDQzU3MzM4MSIgeGFwOk1vZGlmeURhdGU9IjIwMDktMDctMTVUMTM6NDM6MDgrMDI6MDAiIHhhcDpDcmVhdGVEYXRlPSIyMDA5LTA3LTE1VDEzOjQzOjA4KzAyOjAwIiB4YXA6TWV0YWRhdGFEYXRlPSIyMDA5LTA3LTE1VDEzOjQzOjA4KzAyOjAwIiB4YXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzMgV2luZG93cyIgZXhpZjpFeGlmVmVyc2lvbj0iMDIyMSIgZXhpZjpGbGFzaHBpeFZlcnNpb249IjAxMDAiIGV4aWY6Q29sb3JTcGFjZT0iMSIgZXhpZjpQaXhlbFhEaW1lbnNpb249IjIyNjUiIGV4aWY6UGl4ZWxZRGltZW5zaW9uPSIxNTAwIiBleGlmOkRhdGVUaW1lT3JpZ2luYWw9IjIwMDktMDctMTNUMDk6NTg6NTArMDI6MDAiIGV4aWY6RGF0ZVRpbWVEaWdpdGl6ZWQ9IjIwMDktMDctMTNUMDk6NTg6NTArMDI6MDAiIGV4aWY6RXhwb3N1cmVUaW1lPSIxLzE2MCIgZXhpZjpGTnVtYmVyPSIyMi8xIiBleGlmOkV4cG9zdXJlUHJvZ3JhbT0iMSIgZXhpZjpTaHV0dGVyU3BlZWRWYWx1ZT0iNDc5ODUwLzY1NTM2IiBleGlmOkFwZXJ0dXJlVmFsdWU9IjU4NDUwNy82NTUzNiIgZXhpZjpFeHBvc3VyZUJpYXNWYWx1ZT0iMC8zIiBleGlmOk1ldGVyaW5nTW9kZT0iNSIgZXhpZjpGb2NhbExlbmd0aD0iNDIvMSIgZXhpZjpGb2NhbFBsYW5lWFJlc29sdXRpb249IjM4ODgwMDAvODc3IiBleGlmOkZvY2FsUGxhbmVZUmVzb2x1dGlvbj0iMjU5MjAwMC81ODIiIGV4aWY6Rm9jYWxQbGFuZVJlc29sdXRpb25Vbml0PSIyIiBleGlmOkN1c3RvbVJlbmRlcmVkPSIwIiBleGlmOkV4cG9zdXJlTW9kZT0iMSIgZXhpZjpXaGl0ZUJhbGFuY2U9IjAiIGV4aWY6U2NlbmVDYXB0dXJlVHlwZT0iMCIgZXhpZjpOYXRpdmVEaWdlc3Q9IjM2ODY0LDQwOTYwLDQwOTYxLDM3MTIxLDM3MTIyLDQwOTYyLDQwOTYzLDM3NTEwLDQwOTY0LDM2ODY3LDM2ODY4LDMzNDM0LDMzNDM3LDM0ODUwLDM0ODUyLDM0ODU1LDM0ODU2LDM3Mzc3LDM3Mzc4LDM3Mzc5LDM3MzgwLDM3MzgxLDM3MzgyLDM3MzgzLDM3Mzg0LDM3Mzg1LDM3Mzg2LDM3Mzk2LDQxNDgzLDQxNDg0LDQxNDg2LDQxNDg3LDQxNDg4LDQxNDkyLDQxNDkzLDQxNDk1LDQxNzI4LDQxNzI5LDQxNzMwLDQxOTg1LDQxOTg2LDQxOTg3LDQxOTg4LDQxOTg5LDQxOTkwLDQxOTkxLDQxOTkyLDQxOTkzLDQxOTk0LDQxOTk1LDQxOTk2LDQyMDE2LDAsMiw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwyMCwyMiwyMywyNCwyNSwyNiwyNywyOCwzMDswRTA0N0U4NDAxNDM0REEwRjJGNzI2QzgzN0IwQkM5RiIgZGM6Zm9ybWF0PSJpbWFnZS9qcGVnIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHBob3Rvc2hvcDpIaXN0b3J5PSIiIHhhcE1NOkluc3RhbmNlSUQ9InV1aWQ6N0NDMTI0OTAzNDcxREUxMUI3MzE4RkMwQ0VEQkFDQjYiIHhhcE1NOkRvY3VtZW50SUQ9InV1aWQ6N0JDMTI0OTAzNDcxREUxMUI3MzE4RkMwQ0VEQkFDQjYiPiA8ZXhpZjpJU09TcGVlZFJhdGluZ3M+IDxyZGY6U2VxPiA8cmRmOmxpPjEwMDwvcmRmOmxpPiA8L3JkZjpTZXE+IDwvZXhpZjpJU09TcGVlZFJhdGluZ3M+IDxleGlmOkZsYXNoIGV4aWY6RmlyZWQ9IkZhbHNlIiBleGlmOlJldHVybj0iMCIgZXhpZjpNb2RlPSIyIiBleGlmOkZ1bmN0aW9uPSJGYWxzZSIgZXhpZjpSZWRFeWVNb2RlPSJGYWxzZSIvPiA8eGFwTU06RGVyaXZlZEZyb20gcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg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"); // TODO: Create Url with Access to image
            gameLocationJSON.put("description", gameLocation.getTeasers().get(0).getDescription());

            // Fuege es der Liste aller Gamelocations hinzu
            gameLocations.add(gameLocationJSON);

            // Der Standort, von dem weitergesucht wird ist der Standort der letzten Gamelocation
            currentLatitude = gameLocation.getShownLocation().getSingleGeoPoint().getLatitude();
            currentLongitude = gameLocation.getShownLocation().getSingleGeoPoint().getLongitude();
            // Die aktuelle Gamelocation kann nicht mehr besucht werden, wird also aus der Liste entfernt
            locations.remove(minIndex);
        }
        return Response.ok(gameLocations.toString(), MediaType.APPLICATION_JSON).build();
    }
}

From source file:org.apache.ranger.common.RangerSearchUtil.java

public void updateQueryPageSize(Query query, SearchFilter searchCriteria) {
    int pageSize = super.validatePageSize(searchCriteria.getMaxRows());
    query.setMaxResults(pageSize);

    query.setHint("eclipselink.jdbc.max-rows", "" + pageSize);
}

From source file:org.nuxeo.ecm.platform.audit.service.LogEntryProvider.java

public List<?> nativeQuery(String queryString, int pageNb, int pageSize) {
    Query query = em.createQuery(queryString);
    if (pageNb > 1) {
        query.setFirstResult((pageNb - 1) * pageSize);
    }/*from www.  j  a v  a2s  . c  o m*/
    query.setMaxResults(pageSize);
    return doPublishIfEntries(query.getResultList());
}

From source file:corner.orm.gae.impl.PaginatedJapEntityService.java

License:asdf

public Iterator find(final Class<?> persistClass, final Object conditions, final String order, final int start,
        final int offset) {
    return (Iterator) this.template.execute(new JpaCallback() {
        @Override/*from w w w .  ja v  a2 s  . c  o m*/
        public Object doInJpa(EntityManager entityManager) throws PersistenceException {
            Iterable con = typeCoercer.coerce(conditions, Iterable.class);
            final Iterator it = con == null ? null : con.iterator();
            final StringBuffer sb = buildConditionJPQL(persistClass, it);
            appendOrder(sb, order);
            sb.insert(0, "select root." + EntityConstants.ID_PROPERTY_NAME);
            Query query = entityManager.createQuery(sb.toString());
            if (it != null) {
                int i = 0;
                while (it.hasNext()) {
                    query.setParameter(String.valueOf(++i), it.next());
                }
            }
            query.setFirstResult(start);
            query.setMaxResults(offset);
            return query.getResultList().iterator();
        }
    });
}

From source file:org.apache.roller.planet.business.jpa.JPAPlanetManagerImpl.java

/**
 * Get top X subscriptions, restricted by group.
 *//*from   w w  w . ja  va  2  s  .c om*/
public List getTopSubscriptions(PlanetGroup group, int offset, int len) throws PlanetException {
    List result = null;
    if (group != null) {
        Query q = strategy.getNamedQuery("Subscription.getByGroupOrderByInboundBlogsDesc");
        q.setParameter(1, group);
        if (offset != 0)
            q.setFirstResult(offset);
        if (len != -1)
            q.setMaxResults(len);
        result = q.getResultList();
    } else {
        Query q = strategy.getNamedQuery("Subscription.getAllOrderByInboundBlogsDesc");
        if (offset != 0)
            q.setFirstResult(offset);
        if (len != -1)
            q.setMaxResults(len);
        result = q.getResultList();
    }
    return result;
}

From source file:org.makersoft.activerecord.jpa.JPQL.java

@SuppressWarnings("unchecked")
public <T> List<T> list() {
    //        String hql = select + BLANK_STRING + "from" + BLANK_STRING + entityName + " as " + alias + BLANK_STRING + joins + BLANK_STRING + where + BLANK_STRING + group + BLANK_STRING + order + BLANK_STRING;

    StringBuffer hql = new StringBuffer();
    hql.append(select);//from  www .j a  v  a2s  .  c  om
    hql.append(" from ");
    hql.append(entityName);
    hql.append(" as ");
    hql.append(alias);
    hql.append(joins);
    hql.append(where);
    hql.append(group);
    hql.append(order);

    System.out.println("===" + hql.toString());

    Query query = em().createQuery(hql.toString());

    bindParameters(query, parameters);

    query.setFirstResult(offset);
    if (limit > 0) {
        query.setMaxResults(limit);
    }

    return query.getResultList();
}