List of usage examples for org.hibernate.type LongType INSTANCE
LongType INSTANCE
To view the source code for org.hibernate.type LongType INSTANCE.
Click Source Link
From source file:ch.algotrader.dao.AbstractDaoTest.java
License:Open Source License
@Test public void testFindByQueryCollectionParameter() throws Exception { GenericItem stuff1 = new GenericItem("this"); stuff1.setActive(true);// w w w. j a v a 2s . co m stuff1.setBroker(Broker.DC.name()); this.dao.save(stuff1); long id1 = stuff1.getId(); Assert.assertNotEquals(0, id1); GenericItem stuff2 = new GenericItem("that"); stuff2.setActive(true); stuff2.setBroker(Broker.IB.name()); this.dao.save(stuff2); long id2 = stuff2.getId(); Assert.assertNotEquals(0, id2); GenericItem stuff3 = new GenericItem("this and that"); stuff3.setActive(true); stuff3.setBroker(Broker.RT.name()); this.dao.save(stuff3); long id3 = stuff3.getId(); Assert.assertNotEquals(0, id3); this.dao.flush(); Query query = this.dao.prepareQuery(null, "select s from GenericItem s where s.id in (:ids)", QueryType.HQL); query.setParameterList("ids", Arrays.asList(stuff1.getId(), stuff2.getId(), stuff3.getId()), LongType.INSTANCE); List<?> list1 = query.list(); Assert.assertNotNull(list1); Assert.assertEquals(3, list1.size()); }
From source file:com.corundumstudio.core.extensions.hibernate.InsertDeleteListResultTest.java
License:Apache License
private void checkQueryResult(SimpleEntity entity, List expected) { Session session = sessionFactory.openSession(); SQLQuery query = session.createSQLQuery("SELECT id FROM SimpleEntity WHERE phone = :phone"); query.addScalar("id", LongType.INSTANCE); query.setCacheable(true);//from w w w. j a va 2 s . c om query.setCacheRegion(cacheRegion); query.setParameter("phone", entity.getPhone()); List res = query.list(); Assert.assertEquals(expected, res); session.close(); }
From source file:com.corundumstudio.core.extensions.hibernate.InsertDeleteListResultTest.java
License:Apache License
private List listQueryResult() { Session session = sessionFactory.openSession(); SQLQuery query = session.createSQLQuery("SELECT id FROM SimpleEntity WHERE address = :address"); query.addScalar("id", LongType.INSTANCE); query.setCacheable(true);// ww w. j a v a 2 s.c o m query.setCacheRegion(multiCacheRegion); query.setParameter("address", addressValue); List res = query.list(); session.close(); return res; }
From source file:com.corundumstudio.core.extensions.hibernate.InsertDeleteUniqueResultTest.java
License:Apache License
private void checkQueryResult(SimpleEntity entity, Long expected) { Session session = sessionFactory.openSession(); SQLQuery query = session.createSQLQuery("SELECT id FROM SimpleEntity WHERE phone = :phone"); query.addScalar("id", LongType.INSTANCE); query.setCacheable(true);/* w w w . ja v a2s .c o m*/ query.setCacheRegion(cacheRegion); query.setParameter("phone", entity.getPhone()); Long res = (Long) query.uniqueResult(); Assert.assertEquals(expected, res); session.close(); }
From source file:com.dungnv.streetfood.business.ArticleBusiness.java
License:Open Source License
@Override public List<ArticleDTO> getListArticleDTOLess(String userName, String localeCode, String countryCode, String token, ArticleDTO dto, int rowStart, int maxRow, boolean isCount, String sortType, String sortFieldList) {//w ww . java2s. co m StringBuilder sbQuery = new StringBuilder(); List<Object> listParam = new ArrayList<>(); List<Type> listType = new ArrayList<>(); if (isCount) { sbQuery.append(" select count(a.id) as id from article a where 1=1 "); } else { sbQuery.append(" select a.id"); sbQuery.append(" , a.title"); if (dto == null || !"1".equals(dto.getIsGetOnlyIdentified())) { sbQuery.append(" , a.short_content shortContent"); sbQuery.append(" , a.view_count viewCount"); sbQuery.append(" , g.id imageId"); sbQuery.append(" , g.url imageUrl"); } sbQuery.append(" from article a left outer join img g on a.id = g.article_id and g.orders = 1"); sbQuery.append(" where 1 = 1"); } if (dto != null) { StringUtils.trimString(dto, false); if (!StringUtils.isNullOrEmpty(dto.getId())) { sbQuery.append(" AND a.id = ?"); listParam.add(Long.valueOf(dto.getId())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getRestaurantId())) { sbQuery.append( " AND a.id in ( select article_id from restaurant_article where restaurant_id = ? ) "); listParam.add(Long.valueOf(dto.getRestaurantId())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getNotRestaurantId())) { sbQuery.append( " AND a.id not in ( select article_id from restaurant_article where restaurant_id = ? ) "); listParam.add(Long.valueOf(dto.getNotRestaurantId())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getDishId())) { sbQuery.append(" AND a.id in ( select article_id from dish_article where dish_id = ? ) "); listParam.add(Long.valueOf(dto.getDishId())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getNotDishId())) { sbQuery.append(" AND a.id not in ( select article_id from dish_article where dish_id = ? ) "); listParam.add(Long.valueOf(dto.getNotDishId())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getTitle())) { sbQuery.append(" AND lower(a.title) like ? "); listParam.add("%" + dto.getTitle().toLowerCase() + "%"); listType.add(StringType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getShortContent())) { sbQuery.append(" AND lower(a.short_content) like ? "); listParam.add("%" + dto.getShortContent().toLowerCase() + "%"); listType.add(StringType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getContent())) { sbQuery.append(" AND lower(a.content) like ? "); listParam.add("%" + dto.getContent().toLowerCase() + "%"); listType.add(StringType.INSTANCE); } if (dto.getListTag() != null && !dto.getListTag().isEmpty()) { sbQuery.append(" AND a.id in (select article_id from tag_article where tag_id in "); sbQuery.append(QueryUtil.getParameterHolderString(dto.getListTag().size())); sbQuery.append(" )"); List<String> listTag = dto.getListTag(); for (String tagId : listTag) { listParam.add(Long.valueOf(tagId)); listType.add(LongType.INSTANCE); } } } if (!isCount) { sbQuery.append(" order by a.title DESC"); if (maxRow != 0) { sbQuery.append(" limit ?, ?"); listParam.add(rowStart); listType.add(IntegerType.INSTANCE); listParam.add(maxRow); listType.add(IntegerType.INSTANCE); } } SQLQuery query = gettDAO().getSession().createSQLQuery(sbQuery.toString()); query.addScalar("id", StringType.INSTANCE); if (!isCount) { query.addScalar("title", StringType.INSTANCE); if (dto == null || !"1".equals(dto.getIsGetOnlyIdentified())) { query.addScalar("shortContent", StringType.INSTANCE); query.addScalar("viewCount", StringType.INSTANCE); query.addScalar("imageId", StringType.INSTANCE); query.addScalar("imageUrl", StringType.INSTANCE); } } query.setResultTransformer(Transformers.aliasToBean(ArticleDTO.class)); for (int i = 0; i < listParam.size(); i++) { query.setParameter(i, listParam.get(i), listType.get(i)); } List<ArticleDTO> list = query.list(); return list; }
From source file:com.dungnv.streetfood.business.DishBusiness.java
License:Open Source License
@Override public List<DishDTO> getListDishDTOLess(String userName, String localeCode, String countryCode, String token, DishDTO dto, int rowStart, int maxRow, boolean isCount, String sortType, String sortFieldList) { StringBuilder sbQuery = new StringBuilder(); List<Object> listParam = new ArrayList<>(); List<Type> listType = new ArrayList<>(); if (isCount) { sbQuery.append(" select count(c.id) as id from dish c where 1=1 "); } else {/*w w w . j av a 2s . c o m*/ sbQuery.append(" select c.id , c.name"); if (dto == null || !"1".equals(dto.getIsGetOnlyIdentified())) { sbQuery.append(" , c.short_description shortDescription"); sbQuery.append(" , c.dish_status dishStatus"); sbQuery.append(" , c.view_count viewCount"); sbQuery.append(" , c.comment_count commentCount "); sbQuery.append(" , c.share_count shareCount"); sbQuery.append(" , c.rating "); sbQuery.append(" , g.id imageId"); sbQuery.append(" , g.url imageUrl"); } sbQuery.append(" from dish c left outer join img g on c.id = g.dish_id and g.orders = 1 "); sbQuery.append(" where 1=1"); } if (dto != null) { StringUtils.trimString(dto, false); if (!StringUtils.isNullOrEmpty(dto.getId())) { sbQuery.append(" AND c.id = ?"); listParam.add(Long.valueOf(dto.getId())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getName())) { sbQuery.append(" AND lower(c.name) like ? "); listParam.add("%" + dto.getName().toLowerCase() + "%"); listType.add(StringType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getCategoryId())) { sbQuery.append(" AND c.id in ( select dish_id from category_dish where category_id = ? ) "); listParam.add(Long.valueOf(dto.getCategoryId())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getNotCategoryId())) { sbQuery.append(" AND c.id not in ( select dish_id from category_dish where category_id = ? ) "); listParam.add(Long.valueOf(dto.getNotCategoryId())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getArticleId())) { sbQuery.append(" AND c.id in ( select dish_id from dish_article where article_id = ? ) "); listParam.add(Long.valueOf(dto.getArticleId())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getNotArticleId())) { sbQuery.append(" AND c.id not in ( select dish_id from dish_article where article_id = ? ) "); listParam.add(Long.valueOf(dto.getNotArticleId())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getRestaurantId())) { sbQuery.append( " AND c.id in ( select dish_id from restaurant_dish_detail where restaurant_id = ? ) "); listParam.add(Long.valueOf(dto.getRestaurantId())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getNotRestaurantId())) { sbQuery.append( " AND c.id not in ( select dish_id from restaurant_dish_detail where restaurant_id = ? ) "); listParam.add(Long.valueOf(dto.getNotRestaurantId())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getDishStatus())) { sbQuery.append(" AND c.dish_status = ? "); listParam.add(Long.valueOf(dto.getDishStatus())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getShortDescription())) { sbQuery.append(" AND lower(c.description) like ? "); listParam.add("%" + dto.getShortDescription().toLowerCase() + "%"); listType.add(StringType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getLongDescription())) { sbQuery.append(" AND lower(c.long_description) like ? "); listParam.add("%" + dto.getLongDescription().toLowerCase() + "%"); listType.add(StringType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getViewCountFrom())) { sbQuery.append(" AND c.view_count >= ? "); listParam.add(Long.valueOf(dto.getViewCountFrom())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getViewCountTo())) { sbQuery.append(" AND c.view_count <= ? "); listParam.add(Long.valueOf(dto.getViewCountTo())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getCommentCountFrom())) { sbQuery.append(" AND c.comment_count >= ? "); listParam.add(Long.valueOf(dto.getCommentCountFrom())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getCommentCountTo())) { sbQuery.append(" AND c.comment_count <= ? "); listParam.add(Long.valueOf(dto.getCommentCountTo())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getShareCountFrom())) { sbQuery.append(" AND c.share_count >= ? "); listParam.add(Long.valueOf(dto.getShareCountFrom())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getShareCountTo())) { sbQuery.append(" AND c.share_count <= ? "); listParam.add(Long.valueOf(dto.getShareCountTo())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getRatingFrom())) { sbQuery.append(" AND c.rating >= ? "); listParam.add(Double.valueOf(dto.getRatingFrom())); listType.add(DoubleType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getRatingTo())) { sbQuery.append(" AND c.rating <= ? "); listParam.add(Double.valueOf(dto.getRatingTo())); listType.add(DoubleType.INSTANCE); } if (dto.getListTag() != null && !dto.getListTag().isEmpty()) { sbQuery.append(" AND c.id in (select dish_id from tag_dish where tag_id in "); sbQuery.append(QueryUtil.getParameterHolderString(dto.getListTag().size())); sbQuery.append(" )"); List<String> listTag = dto.getListTag(); for (String tagId : listTag) { listParam.add(Long.valueOf(tagId)); listType.add(LongType.INSTANCE); } } if (dto.getListNotLocale() != null && !dto.getListNotLocale().isEmpty()) { sbQuery.append(" AND not exists (select l.dish_id from dish_language l where l.language_code in "); sbQuery.append(QueryUtil.getParameterHolderString(dto.getListNotLocale().size())); sbQuery.append(" AND l.dish_id = c.id )"); List<String> listNotLocale = dto.getListNotLocale(); for (String notLocale : listNotLocale) { listParam.add(notLocale); listType.add(StringType.INSTANCE); } } if (dto.getListLocale() != null && !dto.getListLocale().isEmpty()) { for (String locale : dto.getListLocale()) { sbQuery.append(" AND exists (select l.dish_id from dish_language l where l.language_code = ? "); sbQuery.append(" AND l.dish_id = c.id )"); listParam.add(locale); listType.add(StringType.INSTANCE); } } } if (!isCount) { sbQuery.append(" order by c.name DESC"); if (maxRow != 0) { sbQuery.append(" limit ?, ?"); listParam.add(rowStart); listType.add(IntegerType.INSTANCE); listParam.add(maxRow); listType.add(IntegerType.INSTANCE); } } SQLQuery query = gettDAO().getSession().createSQLQuery(sbQuery.toString()); query.addScalar("id", StringType.INSTANCE); if (!isCount) { query.addScalar("name", StringType.INSTANCE); if (dto == null || !"1".equals(dto.getIsGetOnlyIdentified())) { query.addScalar("shortDescription", StringType.INSTANCE); query.addScalar("dishStatus", StringType.INSTANCE); query.addScalar("viewCount", StringType.INSTANCE); query.addScalar("commentCount", StringType.INSTANCE); query.addScalar("shareCount", StringType.INSTANCE); query.addScalar("rating", StringType.INSTANCE); query.addScalar("imageId", StringType.INSTANCE); query.addScalar("imageUrl", StringType.INSTANCE); } } query.setResultTransformer(Transformers.aliasToBean(DishDTO.class)); for (int i = 0; i < listParam.size(); i++) { query.setParameter(i, listParam.get(i), listType.get(i)); } List<DishDTO> list = query.list(); return list; }
From source file:com.dungnv.streetfood.business.RestaurantBusiness.java
License:Open Source License
@Override public List<RestaurantDTO> getListRestaurantDTOLess(String userName, String localeCode, String countryCode, String token, RestaurantDTO dto, int rowStart, int maxRow, boolean isCount, String sortType, String sortFieldList) {// ww w . j a va2 s .c om StringBuilder sbQuery = new StringBuilder(); List<Object> listParam = new ArrayList<>(); List<Type> listType = new ArrayList<>(); if (isCount) { sbQuery.append(" select count(r.id) as id from restaurant r where 1=1 "); } else { sbQuery.append(" select "); sbQuery.append(" r.id"); sbQuery.append(" , r.name"); if (dto == null || !"1".equals(dto.getIsGetOnlyIdentified())) { sbQuery.append(" , r.address"); sbQuery.append(" , r.restaurant_status restaurantStatus"); sbQuery.append(" , r.view_count viewCount"); sbQuery.append(" , r.comment_count commentCount"); sbQuery.append(" , r.share_count shareCount"); sbQuery.append(" , r.rating"); sbQuery.append(" , g.id imageId"); sbQuery.append(" , g.url imageUrl"); } sbQuery.append(" from restaurant r left outer join img g on r.id = g.restaurant_id and g.orders = 1"); sbQuery.append(" where 1 = 1"); } if (dto != null) { StringUtils.trimString(dto, false); if (!StringUtils.isNullOrEmpty(dto.getId())) { sbQuery.append(" AND r.id = ?"); listParam.add(Long.valueOf(dto.getId())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getArticleId())) { sbQuery.append( " AND r.id in ( select restaurant_id from restaurant_article where article_id = ? ) "); listParam.add(Long.valueOf(dto.getArticleId())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getNotArticleId())) { sbQuery.append( " AND r.id not in ( select restaurant_id from restaurant_article where article_id = ? ) "); listParam.add(Long.valueOf(dto.getNotArticleId())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getDishId())) { sbQuery.append( " AND r.id in ( select restaurant_id from restaurant_dish_detail where dish_id = ? ) "); listParam.add(Long.valueOf(dto.getDishId())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getNotDishId())) { sbQuery.append( " AND r.id not in ( select restaurant_id from restaurant_dish_detail where dish_id = ? ) "); listParam.add(Long.valueOf(dto.getNotDishId())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getName())) { sbQuery.append(" AND lower(r.name) like ? "); listParam.add("%" + dto.getName().toLowerCase() + "%"); listType.add(StringType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getAddress())) { sbQuery.append(" AND lower(r.address) like ? "); listParam.add("%" + dto.getAddress().toLowerCase() + "%"); listType.add(StringType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getIntroduce())) { sbQuery.append(" AND lower(r.introduce) like ? "); listParam.add("%" + dto.getIntroduce().toLowerCase() + "%"); listType.add(StringType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getPhoneNumber())) { sbQuery.append(" AND lower(r.phone_number) like ? "); listParam.add("%" + dto.getPhoneNumber().toLowerCase() + "%"); listType.add(StringType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getCapacity())) { sbQuery.append(" AND lower(r.capacity) like ? "); listParam.add("%" + dto.getCapacity().toLowerCase() + "%"); listType.add(StringType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getRestaurantStatus())) { sbQuery.append(" AND r.restaurant_status = ? "); listParam.add(Long.valueOf(dto.getRestaurantStatus())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getCarParking())) { sbQuery.append(" AND r.car_parking = ? "); listParam.add(Long.valueOf(dto.getCarParking())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getMotobikeParking())) { sbQuery.append(" AND r.motobike_parking = ? "); listParam.add(Long.valueOf(dto.getMotobikeParking())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getViewCountFrom())) { sbQuery.append(" AND r.view_count >= ? "); listParam.add(Long.valueOf(dto.getViewCountFrom())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getViewCountTo())) { sbQuery.append(" AND r.view_count <= ? "); listParam.add(Long.valueOf(dto.getViewCountTo())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getCommentCountFrom())) { sbQuery.append(" AND r.comment_count >= ? "); listParam.add(Long.valueOf(dto.getCommentCountFrom())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getCommentCountTo())) { sbQuery.append(" AND r.comment_count <= ? "); listParam.add(Long.valueOf(dto.getCommentCountTo())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getShareCountFrom())) { sbQuery.append(" AND r.share_count >= ? "); listParam.add(Long.valueOf(dto.getShareCountFrom())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getShareCountTo())) { sbQuery.append(" AND r.share_count <= ? "); listParam.add(Long.valueOf(dto.getShareCountTo())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getRatingFrom())) { sbQuery.append(" AND r.rating >= ? "); listParam.add(Double.valueOf(dto.getRatingFrom())); listType.add(DoubleType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getRatingTo())) { sbQuery.append(" AND r.rating <= ? "); listParam.add(Double.valueOf(dto.getRatingTo())); listType.add(DoubleType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getWaitingTimeFrom())) { sbQuery.append(" AND r.waiting_time >= ? "); listParam.add(Long.valueOf(dto.getWaitingTimeFrom())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getWaitingTimeTo())) { sbQuery.append(" AND r.waiting_time <= ? "); listParam.add(Long.valueOf(dto.getWaitingTimeTo())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getOperatingTimeStart())) { try { sbQuery.append(" AND r.operating_time_start >= ? "); listParam.add(DateTimeUtils.convertStringToTime(dto.getOperatingTimeStart(), ParamUtils.HHmm)); listType.add(TimeType.INSTANCE); } catch (Exception ex) { Logger.getLogger(RestaurantBusiness.class.getName()).log(Level.SEVERE, null, ex); } } if (!StringUtils.isNullOrEmpty(dto.getOperatingTimeEnd())) { try { sbQuery.append(" AND r.operating_time_end <= ? "); listParam.add(DateTimeUtils.convertStringToTime(dto.getOperatingTimeEnd(), ParamUtils.HHmm)); listType.add(TimeType.INSTANCE); } catch (Exception ex) { Logger.getLogger(RestaurantBusiness.class.getName()).log(Level.SEVERE, null, ex); } } if (dto.getListTag() != null && !dto.getListTag().isEmpty()) { sbQuery.append(" AND r.id in (select restaurant_id from tag_restaurant where tag_id in "); sbQuery.append(QueryUtil.getParameterHolderString(dto.getListTag().size())); sbQuery.append(" )"); List<String> listTag = dto.getListTag(); for (String tagId : listTag) { listParam.add(Long.valueOf(tagId)); listType.add(LongType.INSTANCE); } } if (dto.getListNotLocale() != null && !dto.getListNotLocale().isEmpty()) { sbQuery.append( " AND not exists (select l.restaurant_id from restaurant_language l where l.language_code in "); sbQuery.append(QueryUtil.getParameterHolderString(dto.getListNotLocale().size())); sbQuery.append(" AND l.restaurant_id = r.id )"); List<String> listNotLocale = dto.getListNotLocale(); for (String notLocale : listNotLocale) { listParam.add(notLocale); listType.add(StringType.INSTANCE); } } if (dto.getListLocale() != null && !dto.getListLocale().isEmpty()) { for (String locale : dto.getListLocale()) { sbQuery.append( " AND exists (select l.restaurant_id from restaurant_language l where l.language_code = ? "); sbQuery.append(" AND l.restaurant_id = r.id )"); listParam.add(locale); listType.add(StringType.INSTANCE); } } } if (!isCount) { sbQuery.append(" order by r.name DESC"); if (maxRow != 0) { sbQuery.append(" limit ?, ?"); listParam.add(rowStart); listType.add(IntegerType.INSTANCE); listParam.add(maxRow); listType.add(IntegerType.INSTANCE); } } SQLQuery query = gettDAO().getSession().createSQLQuery(sbQuery.toString()); query.addScalar("id", StringType.INSTANCE); if (!isCount) { query.addScalar("name", StringType.INSTANCE); if (dto == null || !"1".equals(dto.getIsGetOnlyIdentified())) { query.addScalar("address", StringType.INSTANCE); query.addScalar("restaurantStatus", StringType.INSTANCE); query.addScalar("viewCount", StringType.INSTANCE); query.addScalar("commentCount", StringType.INSTANCE); query.addScalar("shareCount", StringType.INSTANCE); query.addScalar("rating", StringType.INSTANCE); query.addScalar("imageId", StringType.INSTANCE); query.addScalar("imageUrl", StringType.INSTANCE); } } query.setResultTransformer(Transformers.aliasToBean(RestaurantDTO.class)); for (int i = 0; i < listParam.size(); i++) { query.setParameter(i, listParam.get(i), listType.get(i)); } List<RestaurantDTO> list = query.list(); return list; }
From source file:com.dungnv.streetfood.business.SlideShowBusiness.java
License:Open Source License
@Override public List<SlideShowDTO> getListSlideShowDTOLess(String userName, String localeCode, String countryCode, String token, SlideShowDTO dto, int rowStart, int maxRow, boolean isCount, String sortType, String sortFieldList) {/*w w w. j a v a 2 s . co m*/ StringBuilder sbQuery = new StringBuilder(); List<Object> listParam = new ArrayList<>(); List<Type> listType = new ArrayList<>(); if (isCount) { sbQuery.append(" select count(a.id) as id from slide_show a where 1=1 "); } else { sbQuery.append(" select a.id "); sbQuery.append(" , a.url"); sbQuery.append(" , a.name"); sbQuery.append(" , a.description"); sbQuery.append(" , a.orders as 'order'"); sbQuery.append(" , a.valid_from_gmt validFromGmt "); sbQuery.append(" , a.valid_to_gmt validToGmt"); sbQuery.append(" , g.id imageId"); sbQuery.append(" , g.url imageUrl"); sbQuery.append(" from slide_show a left outer join img g on a.id = g.slide_show_id and g.orders = 1 "); sbQuery.append(" where 1=1"); } if (dto != null) { StringUtils.trimString(dto, false); if (!StringUtils.isNullOrEmpty(dto.getId())) { sbQuery.append(" AND a.id = ?"); listParam.add(Long.valueOf(dto.getId())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(dto.getName())) { sbQuery.append(" AND lower(a.name) like ? "); listParam.add("%" + dto.getName().toLowerCase() + "%"); listType.add(StringType.INSTANCE); } } if (!isCount) { sbQuery.append(" order by a.orders DESC"); if (maxRow != 0) { sbQuery.append(" limit ?, ?"); listParam.add(rowStart); listType.add(IntegerType.INSTANCE); listParam.add(maxRow); listType.add(IntegerType.INSTANCE); } } SQLQuery query = gettDAO().getSession().createSQLQuery(sbQuery.toString()); query.addScalar("id", StringType.INSTANCE); if (!isCount) { query.addScalar("url", StringType.INSTANCE); query.addScalar("name", StringType.INSTANCE); query.addScalar("description", StringType.INSTANCE); query.addScalar("order", StringType.INSTANCE); query.addScalar("validFromGmt", StringType.INSTANCE); query.addScalar("validToGmt", StringType.INSTANCE); query.addScalar("imageId", StringType.INSTANCE); query.addScalar("imageUrl", StringType.INSTANCE); } query.setResultTransformer(Transformers.aliasToBean(SlideShowDTO.class)); for (int i = 0; i < listParam.size(); i++) { query.setParameter(i, listParam.get(i), listType.get(i)); } List<SlideShowDTO> list = query.list(); return list; }
From source file:com.dungnv.streetfood.dao.CategoryDAO.java
License:Open Source License
public List<CategoryDTO> getListCategoryDTOLess(CategoryDTO categoryDTO, int rowStart, int maxRow, boolean isCount, String sortType, String sortFieldList) { StringBuilder sbQuery = new StringBuilder(); List<Object> listParam = new ArrayList<>(); List<Type> listType = new ArrayList<>(); if (isCount) { sbQuery.append(" select count(c.id) as id from Category c where 1=1 "); } else {//www. j a v a 2 s . co m sbQuery.append(" select c.id "); sbQuery.append(" , c.name"); if (categoryDTO == null || !"1".equals(categoryDTO.getIsGetOnlyIdentified())) { sbQuery.append(" , c.description"); sbQuery.append(" , c.category_status categoryStatus"); sbQuery.append(" , g.id imageId"); sbQuery.append(" , g.url imageUrl"); } sbQuery.append(" from Category c "); sbQuery.append(" left outer join img g on c.id = g.dish_group_id and g.orders = 1 "); sbQuery.append(" where 1=1"); } if (categoryDTO != null) { StringUtils.trimString(categoryDTO, false); if (!StringUtils.isNullOrEmpty(categoryDTO.getId())) { sbQuery.append(" AND c.id = ?"); listParam.add(Long.valueOf(categoryDTO.getId())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(categoryDTO.getDishId())) { sbQuery.append(" AND c.id in ( select category_id from category_dish where dish_id = ? ) "); listParam.add(Long.valueOf(categoryDTO.getDishId())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(categoryDTO.getNotDishId())) { sbQuery.append(" AND c.id not in ( select category_id from category_dish where dish_id = ? ) "); listParam.add(Long.valueOf(categoryDTO.getNotDishId())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(categoryDTO.getName())) { sbQuery.append(" AND lower(c.name) like ? "); listParam.add("%" + categoryDTO.getName().toLowerCase() + "%"); listType.add(StringType.INSTANCE); } if (!StringUtils.isNullOrEmpty(categoryDTO.getCategoryStatus())) { sbQuery.append(" AND c.category_status = ? "); listParam.add(Long.valueOf(categoryDTO.getCategoryStatus())); listType.add(LongType.INSTANCE); } if (!StringUtils.isNullOrEmpty(categoryDTO.getDescription())) { sbQuery.append(" AND lower(c.description) like ? "); listParam.add("%" + categoryDTO.getDescription().toLowerCase() + "%"); listType.add(StringType.INSTANCE); } if (categoryDTO.getListTag() != null && !categoryDTO.getListTag().isEmpty()) { sbQuery.append(" AND c.id in (select category_id from tag_category where tag_id in "); sbQuery.append(QueryUtil.getParameterHolderString(categoryDTO.getListTag().size())); sbQuery.append(" )"); List<String> listTag = categoryDTO.getListTag(); for (String tagId : listTag) { listParam.add(Long.valueOf(tagId)); listType.add(LongType.INSTANCE); } } if (categoryDTO.getListNotLocale() != null && !categoryDTO.getListNotLocale().isEmpty()) { sbQuery.append( " AND not exists (select l.dish_group_id from dish_group_langage l where l.language_code in "); sbQuery.append(QueryUtil.getParameterHolderString(categoryDTO.getListNotLocale().size())); sbQuery.append(" AND l.dish_group_id = c.id )"); List<String> listNotLocale = categoryDTO.getListNotLocale(); for (String notLocale : listNotLocale) { listParam.add(notLocale); listType.add(StringType.INSTANCE); } } if (categoryDTO.getListLocale() != null && !categoryDTO.getListLocale().isEmpty()) { for (String locale : categoryDTO.getListLocale()) { sbQuery.append( " AND exists (select l.dish_group_id from dish_group_langage l where l.language_code = ? "); sbQuery.append(" AND l.dish_group_id = c.id )"); listParam.add(locale); listType.add(StringType.INSTANCE); } } } if (!isCount) { sbQuery.append(" order by c.name DESC"); if (maxRow != 0) { sbQuery.append(" limit ?, ?"); listParam.add(rowStart); listType.add(IntegerType.INSTANCE); listParam.add(maxRow); listType.add(IntegerType.INSTANCE); } } SQLQuery query = getSession().createSQLQuery(sbQuery.toString()); query.addScalar("id", StringType.INSTANCE); if (!isCount) { query.addScalar("name", StringType.INSTANCE); if (categoryDTO == null || !"1".equals(categoryDTO.getIsGetOnlyIdentified())) { query.addScalar("description", StringType.INSTANCE); query.addScalar("categoryStatus", StringType.INSTANCE); query.addScalar("imageId", StringType.INSTANCE); query.addScalar("imageUrl", StringType.INSTANCE); } } query.setResultTransformer(Transformers.aliasToBean(CategoryDTO.class)); for (int i = 0; i < listParam.size(); i++) { query.setParameter(i, listParam.get(i), listType.get(i)); } List<CategoryDTO> list = query.list(); StringUtils.escapeHTMLString(list); return list; }
From source file:com.evolveum.midpoint.repo.sql.closure.AbstractOrgClosureTest.java
License:Apache License
protected boolean checkClosureMatrix() { Session session = getSession();//from ww w. j a v a2s . c o m // we compute the closure table "by hand" as 1 + A + A^2 + A^3 + ... + A^n where n is the greatest expected path length int vertices = getVertices().size(); long start = System.currentTimeMillis(); // used to give indices to vertices List<String> vertexList = new ArrayList<>(getVertices()); if (DUMP_TC_MATRIX_DETAILS) LOGGER.info("Vertex list = {}", vertexList); DoubleMatrix2D a = new SparseDoubleMatrix2D(vertices, vertices); // for (int i = 0; i < vertices; i++) { // a.setQuick(i, i, 1.0); // } for (DefaultEdge edge : orgGraph.edgeSet()) { a.set(vertexList.indexOf(orgGraph.getEdgeSource(edge)), vertexList.indexOf(orgGraph.getEdgeTarget(edge)), 1.0); } DoubleMatrix2D result = new SparseDoubleMatrix2D(vertices, vertices); for (int i = 0; i < vertices; i++) { result.setQuick(i, i, 1.0); } DoubleMatrix2D power = result.copy(); Algebra alg = new Algebra(); for (int level = 1; level <= maxLevel; level++) { power = alg.mult(power, a); result.assign(power, Functions.plus); // System.out.println("a=" + a); // System.out.println("a^"+level+"="+power); } LOGGER.info("TC matrix computed in {} ms", System.currentTimeMillis() - start); if (DUMP_TC_MATRIX_DETAILS) LOGGER.info("TC matrix expected = {}", result); Query q = session.createSQLQuery("select descendant_oid, ancestor_oid, val from m_org_closure") .addScalar("descendant_oid", StringType.INSTANCE).addScalar("ancestor_oid", StringType.INSTANCE) .addScalar("val", LongType.INSTANCE); List<Object[]> list = q.list(); LOGGER.info("OrgClosure has {} rows", list.size()); DoubleMatrix2D closureInDatabase = new SparseDoubleMatrix2D(vertices, vertices); for (Object[] item : list) { int val = Integer.parseInt(item[2].toString()); if (val == 0) { throw new IllegalStateException("Row with val == 0 in closure table: " + list); } closureInDatabase.set(vertexList.indexOf(item[0]), vertexList.indexOf(item[1]), val); } if (DUMP_TC_MATRIX_DETAILS) LOGGER.info("TC matrix fetched from db = {}", closureInDatabase); double zSumResultBefore = result.zSum(); double zSumClosureInDb = closureInDatabase.zSum(); result.assign(closureInDatabase, Functions.minus); double zSumResultAfter = result.zSum(); LOGGER.info("Summary of items in closure computed: {}, in DB-stored closure: {}, delta: {}", new Object[] { zSumResultBefore, zSumClosureInDb, zSumResultAfter }); if (DUMP_TC_MATRIX_DETAILS) LOGGER.info("Difference matrix = {}", result); boolean problem = false; for (int i = 0; i < vertices; i++) { for (int j = 0; j < vertices; j++) { double delta = result.get(i, j); if (Math.round(delta) != 0) { System.err.println("delta(" + vertexList.get(i) + "," + vertexList.get(j) + ") = " + delta + " (closureInDB=" + closureInDatabase.get(i, j) + ", expected=" + (result.get(i, j) + closureInDatabase.get(i, j)) + ")"); LOGGER.error("delta(" + vertexList.get(i) + "," + vertexList.get(j) + ") = " + delta); problem = true; } } } if (problem) { checkOrgGraph(); } return problem; }