Example usage for org.hibernate Query setLong

List of usage examples for org.hibernate Query setLong

Introduction

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

Prototype

@Deprecated
@SuppressWarnings("unchecked")
default Query<R> setLong(String name, long val) 

Source Link

Document

Bind a named long-valued parameter.

Usage

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

@Override
public void updateMessage(IdTypeUpdateTimeRequest req, long userId) {
    String hql = "update CargoMessage message set message.type=-message.type, message.updateTime=? where message.userId=? and message.messageId=? and message.type<>? and message.type>=?";

    Session session = null;//from  w w  w .  jav  a2 s .  co m
    Transaction tx = null;
    try {
        CargoMessageInterceptor inter = new CargoMessageInterceptor(req.getUpdateTime());
        session = sessionFactory.openSession(inter);
        tx = session.beginTransaction();
        tx.setTimeout(Constant.TRANSCTION_TIMEOUT);
        Query query = session.createQuery(hql);
        //         query.setInteger(0, Constant.TYPE_DELETE);
        query.setLong(0, System.currentTimeMillis());
        query.setLong(1, userId);
        query.setLong(2, req.getId());
        query.setInteger(3, Constant.TYPE_ORDERED);
        query.setInteger(4, Constant.TYPE_NORMAL);
        query.executeUpdate();
        tx.commit();
    } catch (Exception e) {
        e.printStackTrace();
        if (tx != null) {
            tx.rollback();
        }
    } finally {
        if (session != null) {
            session.close();
            session = null;
        }
    }

}

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

@Override
public CargoMessage findByIdUpdateTime(Long id, Long updateTime) {
    String hql = "from CargoMessage message where message.messageId=?";
    Session session = null;// w  w  w . j  a  v  a 2 s. com
    try {
        CargoMessageInterceptor inter = new CargoMessageInterceptor(updateTime);
        Session currentSession = sessionFactory.getCurrentSession();
        session = sessionFactory.openSession(currentSession.connection(), inter);
        Query query = session.createQuery(hql);
        query.setLong(0, id);
        CargoMessage message = (CargoMessage) query.uniqueResult();
        return message;
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }

}

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

/**
 * Search Nearby cargoMessages by multiple trucklength
 * @param req//  www  .  ja  v a 2  s  .c  o m
 * @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// w w w. j  a v  a2s.  co 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 int getMessageCount(long value) {
    Session session = null;//w  w w . ja  v a2  s  .  c o  m
    try {
        CargoMessageInterceptor inter = new CargoMessageInterceptor(value);
        session = sessionFactory.openSession(inter);
        int count = 0;
        String hql = "select count(*) from CargoMessage msg where msg.updateTime<? and msg.updateTime>?";
        Query query = session.createQuery(hql);
        query.setLong(0, TimeUtils.getEndOfDay(value));
        query.setLong(1, TimeUtils.getStartOfDay(value));
        count = ((Long) query.uniqueResult()).intValue();
        return count;
    } catch (Exception e) {
        e.printStackTrace();
        return 0;
    } finally {
        if (session != null) {
            session.close();
            session = null;
        }
    }
}

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

@Override
public void setOrdered(Long messageId, Long updateTime) {
    String hql = "update CargoMessage message set message.type=?, message.updateTime=? where message.messageId=?";

    Session session = null;// ww  w . ja  va  2s.c o m
    try {
        CargoMessageInterceptor inter = new CargoMessageInterceptor(updateTime);
        Session currentSession = sessionFactory.getCurrentSession();
        session = sessionFactory.openSession(currentSession.connection(), inter);
        Query query = session.createQuery(hql);
        query.setInteger(0, Constant.TYPE_ORDERED);
        query.setLong(1, System.currentTimeMillis());
        query.setLong(2, messageId);
        query.executeUpdate();
        //         tx.commit();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

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

/**
 * ?????//from   www  . j a  v  a  2  s  . c  om
 * @param user_id
 * @param start
 * @param end
 * @return bool
 */
public boolean judgeTodayCargo(Long user_id, int start, int end) {
    Session session = null;
    String sql = "select message.message_id from  cargo_messages message where (message.type=1 or message.type=-1) and message.user_id=? and message.start=? and message.end =? and message.update_time>?";
    long startOfDay = TimeUtils.getStartOfDay(System.currentTimeMillis());
    try {
        CargoMessageInterceptor inter = new CargoMessageInterceptor(startOfDay + 1);
        session = sessionFactory.openSession(inter);
        Query query = session.createSQLQuery(sql).addScalar("message_id", StandardBasicTypes.LONG);
        query.setLong(0, user_id);
        query.setInteger(1, start);
        query.setInteger(2, end);
        query.setLong(3, startOfDay);
        @SuppressWarnings("rawtypes")
        List list = query.list();
        if (list != null && list.size() > 1) {
            return true;
        } else {
            return false;
        }
    } catch (Exception e) {
        e.printStackTrace();
        return false;
    } finally {
        if (session != null) {
            session.close();
            session = null;
        }
    }
}

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

@Override
public List<Object> getTodaySuspiciousCargoer() {
    Session session = null;//from  ww w  .  j  a  v  a2  s  .c o m
    String sql = "select u.install_place as city, u.telephone as telephone, p.user_name as userName, count(m.message_id) as cnt from cargo_message_00 m, users u, profiles p where m.user_id=u.user_id and m.user_id=p.user_id and (m.type=1 or m.type=-1 or m.type=4) and m.update_time>? group by m.user_id having cnt>=20 order by cnt desc;";
    long startOfDay = TimeUtils.getStartOfDay(System.currentTimeMillis());
    try {
        CargoMessageInterceptor inter = new CargoMessageInterceptor(startOfDay + 1);
        session = sessionFactory.openSession(inter);
        Query query = session.createSQLQuery(sql).addScalar("city", StandardBasicTypes.INTEGER)
                .addScalar("telephone", StandardBasicTypes.LONG)
                .addScalar("userName", StandardBasicTypes.STRING).addScalar("cnt", StandardBasicTypes.INTEGER)
                .setResultTransformer(Transformers.aliasToBean(com.consult.app.response.cargo.CargoItem.class));
        query.setLong(0, startOfDay);
        List list = query.list();
        return list;
    } 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 int searchNearByCount(SearchCargoRequest req, City startCity, City endCity, long userId) {

    StringBuilder sb = new StringBuilder(Constant.NEARBY_COUNT_CARGO_SEARCH_MULTIPLE_TRUCKLENGTH);

    if (Double.valueOf(req.getTruckLength()) >= 0) {
        sb.append(" and find_in_set(").append(req.getTruckLength()).append(",message.truck_length_set)");
    }/*from w w  w  .  j  a va 2s  .  co  m*/

    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());
    }

    if (startCity.getNearBy() != null && !startCity.getNearBy().equals("")) {
        sb.append(" and (").append(StringUtil.convertMysqlSetByField("message.start", startCity.getNearBy()))
                .append(" or ")
                .append(StringUtil.convertMysqlSetByField("message.start_father", startCity.getNearBy()))
                .append(")");
    } else {
        return 0;
    }

    //      sb.append(" and (find_in_set(message.start, city.near_by) or find_in_set(message.start_father, city.near_by))")
    sb.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 limit 1");

    Long triggerTime = req.getAfter();
    if (triggerTime.equals(Long.MAX_VALUE)) {
        triggerTime = System.currentTimeMillis();
    }
    CargoMessageInterceptor inter = new CargoMessageInterceptor();
    //      for(int i = 0; i < Constant.SEARCH_TABLE_COUNT; i++) {
    Session session = null;
    try {
        inter.setShardCriteria(triggerTime);
        session = sessionFactory.openSession(inter);
        Query query = session.createSQLQuery(sb.toString());
        //            query.setLong(0, req.getBefore());
        long startTime = req.getBefore() > Cookie.getSearchStartTime() ? req.getBefore()
                : Cookie.getSearchStartTime();
        query.setLong(0, startTime);
        query.setLong(1, triggerTime);
        query.setInteger(2, Constant.TYPE_NORMAL);
        //            query.setFirstResult(0);
        //            query.setMaxResults(count); 
        int ret = ((BigInteger) query.uniqueResult()).intValue();

        return ret;
    } catch (Exception e) {
        e.printStackTrace();
        return 0;
    } finally {
        if (session != null) {
            session.close();
            session = null;
        }
    }
    //      } int count = ((BigInteger)query.uniqueResult()).intValue();
}

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

@Override
public int getMessageDayCount(int type1, int type2, Long userId) {
    CargoMessageInterceptor inter = new CargoMessageInterceptor();
    long triggerTime = System.currentTimeMillis();
    int ret = 0;//  w  ww  .jav  a 2 s .  co  m
    String sql = "select  count(distinct FROM_UNIXTIME(update_time/1000, '%Y%m%d')) from cargo_messages where (type=? or type=? or type=4) and user_id=?;";
    //      for(int i = 0; i < Constant.SEARCH_TABLE_COUNT; i++) {
    Session session = null;
    try {
        inter.setShardCriteria(triggerTime);
        session = sessionFactory.openSession(inter);
        Query query = session.createSQLQuery(sql);
        query.setInteger(0, type1);
        query.setInteger(1, type2);
        query.setLong(2, userId);
        ret += ((BigInteger) query.uniqueResult()).intValue();
        if (inter.isFinishSearch(0)) {
            return ret;
        }
        triggerTime = inter.getTriggerTime();
    } catch (Exception e) {
        e.printStackTrace();
        return 0;
    } finally {
        if (session != null) {
            session.close();
            session = null;
        }
    }
    //      }
    return 0;
}