List of usage examples for org.hibernate.type StringType INSTANCE
StringType INSTANCE
To view the source code for org.hibernate.type StringType INSTANCE.
Click Source Link
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) {//from w w w. j av a 2 s . c o 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.business.TagArticleBusiness.java
License:Open Source License
@Override public List<String> getTagsListByArticle(String userName, String localeCode, String countryCode, String token, String id) {/*from ww w . j a v a2 s . c o m*/ SQLQuery query = gettDAO().getSession().createSQLQuery("select t.name id from tags t " + "inner join tag_article l on t.id =l.tag_id" + " where l.article_id = ? "); query.addScalar("id", StringType.INSTANCE); query.setLong(0, Long.valueOf(id)); return query.list(); }
From source file:com.dungnv.streetfood.business.TagCategoryBusiness.java
License:Open Source License
@Override public List<String> getTagsListByCategory(String userName, String localeCode, String countryCode, String token, String id) {/*w w w.j av a2 s.co m*/ SQLQuery query = gettDAO().getSession().createSQLQuery("select t.name id from tags t " + "inner join tag_category l on t.id =l.tag_id" + " where l.category_id = ? "); query.addScalar("id", StringType.INSTANCE); query.setLong(0, Long.valueOf(id)); return query.list(); }
From source file:com.dungnv.streetfood.business.TagDishBusiness.java
License:Open Source License
@Override public List<String> getTagsListByDish(String userName, String localeCode, String countryCode, String token, String id) {//www .j av a 2 s . c o m SQLQuery query = gettDAO().getSession().createSQLQuery("select t.name id from tags t " + "inner join tag_dish l on t.id =l.tag_id" + " where l.dish_id = ? "); query.addScalar("id", StringType.INSTANCE); query.setLong(0, Long.valueOf(id)); return query.list(); }
From source file:com.dungnv.streetfood.business.TagRestaurantBusiness.java
License:Open Source License
@Override public List<String> getTagsListByRestaurant(String userName, String localeCode, String countryCode, String token, String id) { SQLQuery query = gettDAO().getSession().createSQLQuery("select t.name id from tags t " + "inner join tag_restaurant l on t.id =l.tag_id" + " where l.restaurant_id = ? "); query.addScalar("id", StringType.INSTANCE); query.setLong(0, Long.valueOf(id)); return query.list(); }
From source file:com.dungnv.streetfood.business.TagsBusiness.java
License:Open Source License
@Override public Map<String, String> getMapTagsByName(List<String> listTagName) { Map<String, String> map = new HashMap<>(); Type[] types = new Type[listTagName.size()]; String[] param = new String[listTagName.size()]; Arrays.fill(types, StringType.INSTANCE); Criteria cri = gettDAO().getSession().createCriteria(Tags.class); cri.add(Restrictions.sqlRestriction( " lower(" + Tags.NAME + ") in " + QueryUtil.getParameterHolderString(listTagName.size())// , StringUtils.trimStringToNewList(listTagName, Boolean.TRUE).toArray(param)// , types));//from www . j ava 2 s . c om List<Tags> listTags = cri.list(); for (Tags tags : listTags) { map.put(tags.getName().toLowerCase(), tags.getId().toString()); } for (String tags : listTagName) { if (!map.containsKey(tags.trim().toLowerCase())) { map.put(tags.trim().toLowerCase(), null); } } return map; }
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 {//w ww . j a v a 2s .c om 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 w ww . j a v a2 s .co 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; }
From source file:com.evolveum.midpoint.repo.sql.helpers.OrgClosureManager.java
License:Apache License
private void rebuild(boolean check, boolean rebuild, boolean stopOnFailure, final Context context, final Session session, OperationResult result) throws SchemaException { List existingEntries = null;// w ww . j a v a2 s . c o m if (check) { LOGGER.info("Reading from existing org closure table"); Query selectQuery = session .createSQLQuery("SELECT descendant_oid, ancestor_oid, val from " + CLOSURE_TABLE_NAME) .addScalar("descendant_oid", StringType.INSTANCE).addScalar("ancestor_oid", StringType.INSTANCE) .addScalar("val", IntegerType.INSTANCE); existingEntries = selectQuery.list(); LOGGER.info("{} entries read", existingEntries.size()); } LOGGER.info("Computing org closure table from scratch"); Query deleteQuery = session.createSQLQuery("delete from " + CLOSURE_TABLE_NAME); deleteQuery.executeUpdate(); LOGGER.trace("Closure table content deleted"); final int orgsTotal = repositoryService.countObjects(OrgType.class, new ObjectQuery(), result); final MutableInt orgsProcessed = new MutableInt(0); ResultHandler<OrgType> handler = new ResultHandler<OrgType>() { @Override public boolean handle(PrismObject<OrgType> object, OperationResult parentResult) { LOGGER.trace("Processing {}", object); handleAdd(object.getOid(), getParentOidsFromObject(object), context, session); orgsProcessed.add(1); int currentState = orgsProcessed.intValue(); if (currentState % 100 == 0) { LOGGER.info("{} organizations processed (out of {})", currentState, orgsTotal); } return true; } }; repositoryService.searchObjectsIterative(OrgType.class, new ObjectQuery(), handler, null, false, result); LOGGER.info( "Org closure table was successfully recomputed (not committed yet); all {} organizations processed", orgsTotal); if (check) { LOGGER.info("Reading from recomputed org closure table"); Query selectQuery = session .createSQLQuery("SELECT descendant_oid, ancestor_oid, val from " + CLOSURE_TABLE_NAME) .addScalar("descendant_oid", StringType.INSTANCE).addScalar("ancestor_oid", StringType.INSTANCE) .addScalar("val", IntegerType.INSTANCE); List recomputedEntries = selectQuery.list(); LOGGER.info("{} entries read", recomputedEntries.size()); compareOrgClosureTables(existingEntries, recomputedEntries, rebuild, result); } else { result.recordSuccess(); } }
From source file:com.evolveum.midpoint.repo.sql.helpers.OrgClosureManager.java
License:Apache License
private void checkForCycles(List<Edge> edges, Session session) { String queryText = "select descendant_oid, ancestor_oid from " + CLOSURE_TABLE_NAME + " where " + getWhereClauseForCycleCheck(edges); Query query = session.createSQLQuery(queryText).addScalar("descendant_oid", StringType.INSTANCE) .addScalar("ancestor_oid", StringType.INSTANCE); long start = System.currentTimeMillis(); List list = query.list();/*from ww w . j a va2s. c o m*/ LOGGER.trace("Cycles checked in {} ms, {} conflicts found", System.currentTimeMillis() - start, list.size()); if (!list.isEmpty()) { throw new IllegalArgumentException( "Modification couldn't be executed, because a cycle in org structure graph would be created. Cycle-creating edges being added: " + formatList(list)); } }