List of usage examples for org.hibernate Query setLong
@Deprecated @SuppressWarnings("unchecked") default Query<R> setLong(String name, long val)
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; }