Example usage for org.hibernate Query setFirstResult

List of usage examples for org.hibernate Query setFirstResult

Introduction

In this page you can find the example usage for org.hibernate Query setFirstResult.

Prototype

@Override
    Query<R> setFirstResult(int startPosition);

Source Link

Usage

From source file:com.cms.utils.BaseFWDAOImpl.java

License:Open Source License

public List<T> find(String boName, List<ConditionBean> lstCondition, String order, int start, int maxResult,
        String logic) {//w ww  . ja v a 2 s . c  om
    //        if (logic == null) {
    //            logic = ParamUtils.LOGIC_AND;
    //        }
    try {
        StringBuilder sql = new StringBuilder();
        sql.append(" from ");
        sql.append(boName);
        sql.append(" where 1=1 ");
        if (lstCondition != null && lstCondition.size() > 0) {
            buildConditionQuery(sql, lstCondition);
        }
        if (order != null && !order.equals("")) {
            sql.append(" order by ");
            sql.append(order);
        }
        Query query = getSession().createQuery(sql.toString());
        if (maxResult != 0) {
            query.setFirstResult(start);
            query.setMaxResults(maxResult);
        }
        fillConditionQuery(query, lstCondition);
        return query.list();
    } catch (HibernateException he) {
        log.error(he.getMessage(), he);
        return null;
    }
}

From source file:com.cms.utils.BaseFWDAOImpl.java

License:Open Source License

public List<T> findSession(String boName, List<ConditionBean> lstCondition, String order, int start,
        int maxResult, String logic, Session session) {
    //        if (logic == null) {
    //            logic = ParamUtils.LOGIC_AND;
    //        }//w  w  w  .ja v  a2 s  .co  m
    try {
        StringBuilder sql = new StringBuilder();
        sql.append(" from ");
        sql.append(boName);
        sql.append(" where 1=1 ");
        if (lstCondition != null && lstCondition.size() > 0) {
            buildConditionQuery(sql, lstCondition);
        }
        if (order != null && !order.equals("")) {
            sql.append(" order by ");
            sql.append(order);
        }
        Query query = session.createQuery(sql.toString());
        if (maxResult != 0) {
            query.setFirstResult(start);
            query.setMaxResults(maxResult);
        }
        fillConditionQuery(query, lstCondition);
        return query.list();
    } catch (HibernateException he) {
        log.error(he.getMessage(), he);
        return null;
    }
}

From source file:com.connexience.server.model.datasets.DatasetsUtils.java

License:Open Source License

/** Get values for a Json multiple value object */
public static JSONContainer getJsonMultipleValueData(Session session, JsonMultipleValueItem item,
        int startIndex, int maxResults, String[] filterKeys) throws ConnexienceException {
    try {//  ww  w  .jav  a  2  s. c  o m
        Query q = session.createQuery("from JsonDataRow as obj where obj.itemId=:itemid order by obj.id asc");
        q.setLong("itemid", item.getId());

        if (startIndex >= 0) {
            q.setFirstResult(startIndex);
        }

        if (maxResults >= 0) {
            q.setMaxResults(maxResults);
        }

        List rows = q.list();
        return createResultFromList(rows, filterKeys);
    } catch (Exception ex) {
        throw new ConnexienceException("Error getting JSON values: " + ex.getMessage());
    }
}

From source file:com.consult.app.dao.impl.CargoMessageDaoImpl.java

/**
 * Common Search cargo, used by 274 Version!
 * This supports multiple truck length//w  w w . j  a  v  a2s .  co m
 * 
 */
private List<Object> getMultipleTruckLengthSearch(SearchCargoRequest req, City endCity) {

    Long today = TimeUtils.getStartOfDay(System.currentTimeMillis());
    StringBuilder sb = new StringBuilder(String.format(Constant.CARGO_SEARCH_MULTIPLE_TRUCKLENGTH, today));

    if (Double.valueOf(req.getTruckLength()) >= 0) {
        sb.append(" and find_in_set(").append(req.getTruckLength()).append(",message.truck_length_set)");
    }

    if (req.getTruckType() >= 0) {
        sb.append(" and message.truck_type=").append(req.getTruckType());
    }

    if (req.getWeightRange() > 0) {
        sb.append(" and message.cargo_weight_range=").append(req.getWeightRange());
    }

    sb.append(" and (message.start=").append(req.getStart()).append(" or message.start_father=")
            .append(req.getStart()).append(" or message.start_grand=").append(req.getStart())
            .append(") and (message.end=").append(endCity.getId()).append(" or message.end_father=")
            .append(endCity.getId()).append(" or message.end_grand=").append(endCity.getId()).append(" or 0=")
            .append(endCity.getId()).append(")");

    sb.append(" and message.type>=? and message.type<4 order by message.update_time desc");

    Long triggerTime = req.getAfter();
    if (triggerTime.equals(Long.MAX_VALUE)) {
        triggerTime = System.currentTimeMillis();
    }
    CargoMessageInterceptor inter = new CargoMessageInterceptor();
    int count = req.getCount();
    //      for(int i = 0; i < Constant.SEARCH_TABLE_COUNT; i++) {
    Session session = null;
    try {
        //            Long messageId, int type,
        //            double weight, double capacity, int truckType,
        //            String contact, String telephone, int start, int end, 
        //            String description, long updateTime, double truckLength,
        //            String companyName, String companyAddress, String landlines, 
        //            String picture, int avatarAuthenticate, Long userId
        inter.setShardCriteria(System.currentTimeMillis());
        session = sessionFactory.openSession(inter);
        Query query = session.createSQLQuery(sb.toString()).addScalar("messageId", StandardBasicTypes.LONG)
                .addScalar("type", StandardBasicTypes.INTEGER).addScalar("weight", StandardBasicTypes.DOUBLE)
                .addScalar("capacity", StandardBasicTypes.DOUBLE)
                .addScalar("truckType", StandardBasicTypes.INTEGER)
                .addScalar("contact", StandardBasicTypes.STRING)
                .addScalar("telephone", StandardBasicTypes.STRING)
                .addScalar("start", StandardBasicTypes.INTEGER).addScalar("end", StandardBasicTypes.INTEGER)
                .addScalar("description", StandardBasicTypes.STRING)
                .addScalar("updateTime", StandardBasicTypes.LONG)
                .addScalar("truckLength", StandardBasicTypes.DOUBLE)
                .addScalar("companyName", StandardBasicTypes.STRING)
                .addScalar("companyAddress", StandardBasicTypes.STRING)
                .addScalar("landlines", StandardBasicTypes.STRING)
                .addScalar("picture", StandardBasicTypes.STRING)
                .addScalar("avatarAuthenticate", StandardBasicTypes.INTEGER)
                .addScalar("userId", StandardBasicTypes.LONG)
                .addScalar("licenseAuthenticate", StandardBasicTypes.INTEGER)
                .addScalar("cargoType", StandardBasicTypes.INTEGER)
                .addScalar("score", StandardBasicTypes.DOUBLE)
                .addScalar("orderCount", StandardBasicTypes.INTEGER)
                .addScalar("charges", StandardBasicTypes.INTEGER)
                .addScalar("messageCount", StandardBasicTypes.LONG)
                .addScalar("truckLengthSet", StandardBasicTypes.STRING).setResultTransformer(
                        Transformers.aliasToBean(com.consult.app.response.cargo.CargoMessageItem.class));
        query.setLong(0, req.getBefore());
        query.setLong(1, triggerTime);
        query.setInteger(2, Constant.TYPE_NORMAL);
        query.setFirstResult(0);
        query.setMaxResults(count);
        @SuppressWarnings("unchecked")
        List<Object> tmpList = query.list();
        //            if(tmpList != null && tmpList.size() > 0) {
        //               list.addAll(tmpList);
        //               if(tmpList.size() >= count) {
        //                  tx.commit();
        //                  return list;
        //               }
        //               count -= tmpList.size();
        ////               min = metaList.get(metaList.size() - 1).getUpdateTime();
        //            }
        //            if(inter.isFinishSearch(req.getBefore())) {
        //               tx.commit();
        //               return list;
        //            }
        //            triggerTime = inter.getTriggerTime();
        return tmpList;
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    } finally {
        if (session != null) {
            session.close();
            session = null;
        }
    }
}

From source file:com.consult.app.dao.impl.CargoMessageDaoImpl.java

/**
 * Common Search cargo, used by First Version!
 * Deprecated!/*w  w w . jav  a  2  s  .c om*/
 */
private List<Object> getAllMessage(SearchCargoRequest req, City endCity) {

    StringBuilder sb = new StringBuilder(Constant.CARGO_SEARCH);

    if (req.getTruckLengthRange() > 0) {
        sb.append(" and message.truckLengthRange=").append(req.getTruckLengthRange());
    }

    if (req.getTruckType() >= 0) {
        sb.append(" and message.truckType=").append(req.getTruckType());
    }

    if (req.getWeightRange() > 0) {
        sb.append(" and message.cargoWeightRange=").append(req.getWeightRange());
    }

    sb.append(" and (message.start=").append(req.getStart()).append(" or message.startFather=")
            .append(req.getStart()).append(") and (message.end=").append(endCity.getId())
            .append(" or message.endFather=").append(endCity.getId()).append(" or message.endGrand=")
            .append(endCity.getId()).append(" or 0=").append(endCity.getId()).append(")");

    sb.append(" and message.type>=? and message.type<4 order by message.updateTime desc");

    List<Object> list = new ArrayList<Object>();
    Long triggerTime = req.getAfter();
    if (triggerTime.equals(Long.MAX_VALUE)) {
        triggerTime = System.currentTimeMillis();
    }
    CargoMessageInterceptor inter = new CargoMessageInterceptor();

    int count = req.getCount();
    //      for(int i = 0; i < Constant.SEARCH_TABLE_COUNT; i++) {
    Session session = null;
    try {
        inter.setShardCriteria(triggerTime);
        session = sessionFactory.openSession(inter);
        Query query = session.createQuery(sb.toString());
        query.setLong(0, req.getBefore());
        query.setLong(1, triggerTime);
        query.setInteger(2, Constant.TYPE_NORMAL);
        query.setFirstResult(0);
        query.setMaxResults(count);
        @SuppressWarnings("unchecked")
        List<Object> tmpList = query.list();
        if (tmpList != null && tmpList.size() > 0) {
            list.addAll(tmpList);
            if (tmpList.size() >= count) {
                return list;
            }
            count -= tmpList.size();
        }
        if (inter.isFinishSearch(req.getBefore())) {
            return list;
        }
        triggerTime = inter.getTriggerTime();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (session != null) {
            session.close();
            session = null;
        }
    }
    //      }
    return list;
}

From source file:com.consult.app.dao.impl.CargoMessageDaoImpl.java

@Override
public void doReSend(long start, long end, long now) {
    String hql = "from CargoMessage message where message.updateTime>? and message.updateTime<? and (message.type=? or message.type=?) order by message.updateTime desc";

    if (end <= start) {
        return;//  w w  w.  j a  v  a  2s. c om
    }
    if (end - start < Integer.MAX_VALUE) {
        end = start + (end - start) / 4 + RandomNumber.createRandomInt((int) (end - start) * 3 / 4);
    }
    Session session = null;
    List<CargoMessage> list = null;
    try {
        CargoMessageInterceptor inter = new CargoMessageInterceptor(end);
        session = sessionFactory.openSession(inter);
        Query query = session.createQuery(hql);
        query.setLong(0, start);
        query.setLong(1, end);
        query.setInteger(2, Constant.TYPE_NORMAL);
        query.setInteger(3, Constant.TYPE_XIWEI);
        query.setFirstResult(0);
        query.setMaxResults(20);
        list = query.list();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (session != null) {
            session.close();
            session = null;
        }
    }
    if (list != null && !list.isEmpty()) {
        int i = RandomNumber.createRandomInt(list.size());
        CargoMessage message = (CargoMessage) list.get(i);
        if (message.getType() == Constant.TYPE_ARTIFICIAL) {
            message.setType(Constant.TYPE_DELETE);
            update(message);
        }

        message.setMessageId(null);
        message.setUpdateTime(now);
        message.setModifyTime(now);
        message.setType(Constant.TYPE_ARTIFICIAL);
        //         message.setUserId(0L);
        save(message);

        LogUtil.i(CargoMessage.class.getSimpleName(), "CargoMessage RESEND Success.");
        updateSubscribeProcess.processAddWithoutPush(message.getStart(), message.getEnd(),
                message.getEndFather(), message.getEndGrand(), Constant.MESSAGE_TYPE_CARGO, "", now);
    } else {
        LogUtil.i(CargoMessage.class.getSimpleName(), "CargoMessage RESEND Nothing.");
    }
}

From source file:com.consult.app.dao.impl.CargoMessageDaoImpl.java

/**
 * Search Nearby cargoMessages by multiple trucklength
 * @param req//from   www.j av a  2  s  . c om
 * @param endCity
 * @return
 */
private List<Object> getNearbyMultipleTruckLengthSearch(SearchCargoRequest req, City endCity) {
    //      List<Object> list = new ArrayList<Object>();

    Long today = TimeUtils.getStartOfDay(System.currentTimeMillis());
    StringBuilder sb = new StringBuilder(
            String.format(Constant.NEARBY_CARGO_SEARCH_MULTIPLE_TRUCKLENGTH, today));

    if (Double.valueOf(req.getTruckLength()) >= 0) {
        sb.append(" and find_in_set(").append(req.getTruckLength()).append(",message.truck_length_set)");
    }

    if (req.getTruckType() >= 0) {
        sb.append(" and message.truck_type=").append(req.getTruckType());
    }

    if (req.getWeightRange() > 0) {
        sb.append(" and message.cargo_weight_range=").append(req.getWeightRange());
    }

    sb.append(" and city.id=").append(req.getStart()).append(
            " and (find_in_set(message.start, city.near_by) or find_in_set(message.start_father, city.near_by))")
            .append(" and (message.end=").append(endCity.getId()).append(" or message.end_father=")
            .append(endCity.getId()).append(" or message.end_grand=").append(endCity.getId()).append(" or 0=")
            .append(endCity.getId()).append(")");

    sb.append(" and message.type>=? and message.type<4 order by message.update_time desc");

    Long triggerTime = req.getAfter();
    if (triggerTime.equals(Long.MAX_VALUE)) {
        triggerTime = System.currentTimeMillis();
    }
    CargoMessageInterceptor inter = new CargoMessageInterceptor();
    int count = req.getCount();
    //      for(int i = 0; i < Constant.SEARCH_TABLE_COUNT; i++) {
    Session session = null;
    try {
        //            Long messageId, int type,
        //            double weight, double capacity, int truckType,
        //            String contact, String telephone, int start, int end, 
        //            String description, long updateTime, double truckLength,
        //            String companyName, String companyAddress, String landlines, 
        //            String picture, int avatarAuthenticate, Long userId
        inter.setShardCriteria(triggerTime);
        session = sessionReadFactory.openSession(inter);
        Query query = session.createSQLQuery(sb.toString()).addScalar("messageId", StandardBasicTypes.LONG)
                .addScalar("type", StandardBasicTypes.INTEGER).addScalar("weight", StandardBasicTypes.DOUBLE)
                .addScalar("capacity", StandardBasicTypes.DOUBLE)
                .addScalar("truckType", StandardBasicTypes.INTEGER)
                .addScalar("contact", StandardBasicTypes.STRING)
                .addScalar("telephone", StandardBasicTypes.STRING)
                .addScalar("start", StandardBasicTypes.INTEGER).addScalar("end", StandardBasicTypes.INTEGER)
                .addScalar("description", StandardBasicTypes.STRING)
                .addScalar("updateTime", StandardBasicTypes.LONG)
                .addScalar("truckLength", StandardBasicTypes.DOUBLE)
                .addScalar("companyName", StandardBasicTypes.STRING)
                .addScalar("companyAddress", StandardBasicTypes.STRING)
                .addScalar("landlines", StandardBasicTypes.STRING)
                .addScalar("picture", StandardBasicTypes.STRING)
                .addScalar("avatarAuthenticate", StandardBasicTypes.INTEGER)
                .addScalar("userId", StandardBasicTypes.LONG)
                .addScalar("licenseAuthenticate", StandardBasicTypes.INTEGER)
                .addScalar("cargoType", StandardBasicTypes.INTEGER)
                .addScalar("score", StandardBasicTypes.DOUBLE)
                .addScalar("orderCount", StandardBasicTypes.INTEGER)
                .addScalar("charges", StandardBasicTypes.INTEGER)
                .addScalar("messageCount", StandardBasicTypes.LONG)
                .addScalar("truckLengthSet", StandardBasicTypes.STRING).setResultTransformer(
                        Transformers.aliasToBean(com.consult.app.response.cargo.CargoMessageItem.class));
        query.setLong(0, req.getBefore());
        query.setLong(1, triggerTime);
        query.setInteger(2, Constant.TYPE_NORMAL);
        query.setFirstResult(0);
        query.setMaxResults(count);
        @SuppressWarnings("unchecked")
        List<Object> tmpList = query.list();
        //            if(tmpList != null && tmpList.size() > 0) {
        //               list.addAll(tmpList);
        //               if(tmpList.size() >= count) {
        //                  tx.commit();
        //                  return list;
        //               }
        //               count -= tmpList.size();
        ////               min = metaList.get(metaList.size() - 1).getUpdateTime();
        //            }
        //            if(inter.isFinishSearch(req.getBefore())) {
        //               tx.commit();
        //               return list;
        //            }
        //            triggerTime = inter.getTriggerTime();
        return tmpList;
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    } finally {
        if (session != null) {
            session.close();
            session = null;
        }
    }
    //      }
}

From source file:com.consult.app.dao.impl.CargoMessageDaoImpl.java

/**
 * Search Nearby cargoMessages//from  w  w  w.  j  a v a  2s.c  o  m
 * Deprecated!
 * @param req
 * @param endCity
 * @return
 */
private List<Object> getNearbyMessage(SearchCargoRequest req, City endCity) {
    //      List<Object> list = new ArrayList<Object>();

    StringBuilder sb = new StringBuilder(Constant.NEARBY_CARGO_SEARCH);

    if (req.getTruckLengthRange() > 0) {
        sb.append(" and message.truck_length_range=").append(req.getTruckLengthRange());
    }

    if (req.getTruckType() >= 0) {
        sb.append(" and message.truck_type=").append(req.getTruckType());
    }

    if (req.getWeightRange() > 0) {
        sb.append(" and message.cargo_weight_range=").append(req.getWeightRange());
    }

    sb.append(" and city.id=").append(req.getStart()).append(
            " and (find_in_set(message.start, city.near_by) or find_in_set(message.start_father, city.near_by))")
            .append(" and (message.end=").append(endCity.getId()).append(" or message.end_father=")
            .append(endCity.getId()).append(" or message.end_grand=").append(endCity.getId()).append(" or 0=")
            .append(endCity.getId()).append(")");

    sb.append(" and message.type>=? and message.type<4 order by message.update_time desc");

    Long triggerTime = req.getAfter();
    if (triggerTime.equals(Long.MAX_VALUE)) {
        triggerTime = System.currentTimeMillis();
    }
    CargoMessageInterceptor inter = new CargoMessageInterceptor();
    int count = req.getCount();
    //      for(int i = 0; i < Constant.SEARCH_TABLE_COUNT; i++) {
    Session session = null;
    try {
        //            Long messageId, int type,
        //            double weight, double capacity, int truckType,
        //            String contact, String telephone, int start, int end, 
        //            String description, long updateTime, double truckLength,
        //            String companyName, String companyAddress, String landlines, 
        //            String picture, int avatarAuthenticate, Long userId
        inter.setShardCriteria(triggerTime);
        session = sessionFactory.openSession(inter);
        Query query = session.createSQLQuery(sb.toString()).addScalar("messageId", StandardBasicTypes.LONG)
                .addScalar("type", StandardBasicTypes.INTEGER).addScalar("weight", StandardBasicTypes.DOUBLE)
                .addScalar("capacity", StandardBasicTypes.DOUBLE)
                .addScalar("truckType", StandardBasicTypes.INTEGER)
                .addScalar("contact", StandardBasicTypes.STRING)
                .addScalar("telephone", StandardBasicTypes.STRING)
                .addScalar("start", StandardBasicTypes.INTEGER).addScalar("end", StandardBasicTypes.INTEGER)
                .addScalar("description", StandardBasicTypes.STRING)
                .addScalar("updateTime", StandardBasicTypes.LONG)
                .addScalar("truckLength", StandardBasicTypes.DOUBLE)
                .addScalar("companyName", StandardBasicTypes.STRING)
                .addScalar("companyAddress", StandardBasicTypes.STRING)
                .addScalar("landlines", StandardBasicTypes.STRING)
                .addScalar("picture", StandardBasicTypes.STRING)
                .addScalar("avatarAuthenticate", StandardBasicTypes.INTEGER)
                .addScalar("userId", StandardBasicTypes.LONG)
                .addScalar("licenseAuthenticate", StandardBasicTypes.INTEGER)
                .addScalar("cargoType", StandardBasicTypes.INTEGER)
                .addScalar("score", StandardBasicTypes.DOUBLE)
                .addScalar("orderCount", StandardBasicTypes.INTEGER)
                .addScalar("charges", StandardBasicTypes.INTEGER)
                .addScalar("messageCount", StandardBasicTypes.LONG)
                .addScalar("truckLengthSet", StandardBasicTypes.STRING).setResultTransformer(
                        Transformers.aliasToBean(com.consult.app.response.cargo.CargoMessageItem.class));
        query.setLong(0, req.getBefore());
        query.setLong(1, triggerTime);
        query.setInteger(2, Constant.TYPE_NORMAL);
        query.setFirstResult(0);
        query.setMaxResults(count);
        @SuppressWarnings("unchecked")
        List<Object> tmpList = query.list();
        //            if(tmpList != null && tmpList.size() > 0) {
        //               list.addAll(tmpList);
        //               if(tmpList.size() >= count) {
        //                  tx.commit();
        //                  return list;
        //               }
        //               count -= tmpList.size();
        ////               min = metaList.get(metaList.size() - 1).getUpdateTime();
        //            }
        //            if(inter.isFinishSearch(req.getBefore())) {
        //               tx.commit();
        //               return list;
        //            }
        //            triggerTime = inter.getTriggerTime();
        return tmpList;
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    } finally {
        if (session != null) {
            session.close();
            session = null;
        }
    }
    //      }
}

From source file:com.consult.app.dao.impl.CargoMessageDaoImpl.java

@Override
public CargoMessage getFirstLineMessage(int start, int end, Long userId, Long updateTime) {
    String hql = "from CargoMessage message where message.updateTime>=? and message.userId=? and message.start=? and message.end=?";
    Session session = null;//  ww  w .j  av a  2  s.c  om
    try {
        CargoMessageInterceptor inter = new CargoMessageInterceptor(updateTime);
        session = sessionFactory.openSession(inter);
        Query query = session.createQuery(hql);
        query.setLong(0, TimeUtils.getStartOfDay(updateTime));
        query.setLong(1, userId);
        query.setInteger(2, start);
        query.setInteger(3, end);
        query.setFirstResult(0);
        query.setMaxResults(1);
        CargoMessage message = (CargoMessage) query.uniqueResult();
        return message;
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    } finally {
        if (session != null) {
            session.close();
            session = null;
        }
    }
}

From source file:com.consult.app.dao.impl.CargoMessageDaoImpl.java

@Override
public List<Object> searchCargoByClerk(TelephoneRequest req) {
    Session session = null;/*  w ww.  ja va2 s. co  m*/
    long startOfDay = TimeUtils.getStartOfDay(System.currentTimeMillis()) + 1;
    try {
        CargoMessageInterceptor inter = new CargoMessageInterceptor(startOfDay + 1);
        session = sessionFactory.openSession(inter);
        String hql = "select new com.consult.app.response.admin.ClerkMessageItem(message) "
                + "from CargoMessage message "
                + "where message.telephone=? and message.updateTime>? and (message.type=1 or message.type=-1 or message.type=2 or message.type=-2)";
        Query query = session.createQuery(hql);
        query.setString(0, req.getTelephone());
        query.setLong(1, startOfDay);
        query.setFirstResult(0);
        query.setMaxResults(100);
        List<Object> list = query.list();
        return list;
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        if (session != null) {
            session.close();
            session = null;
        }
    }
    return null;
}