类org.hibernate.criterion.DetachedCriteria源码实例Demo

下面列出了怎么用org.hibernate.criterion.DetachedCriteria的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: DataHubSystem   文件: OlingoManager.java
public List<Product> getProducts(User user, String uuid,
      FilterExpression filter_expr, OrderByExpression order_expr, int skip,
      int top) throws ExceptionVisitExpression, ODataApplicationException
{
   ProductSQLVisitor expV = new ProductSQLVisitor();
   Object visit_result = null;

   if (filter_expr != null)
   {
      visit_result = filter_expr.accept(expV);
   }
   if (order_expr != null)
   {
      visit_result = order_expr.accept(expV);
   }

   return productService.getProducts((DetachedCriteria) visit_result, uuid,
         skip, top);
}
 
源代码2 项目: kardio   文件: K8sApiStatusDaoImpl.java
@Override
public long getCurrentNumberOfApis(int envId,String componentIdsStrg) throws ParseException {
	
	List<Integer> comIdList = DaoUtil.convertCSVToList(componentIdsStrg);
	
	Session session = sessionFactory.openSession();
	DetachedCriteria subMaxDate = DetachedCriteria.forClass(K8sApiStatusEntity.class);
	subMaxDate.setProjection(Projections.max("statusDate"));
	Criteria crtCurrenrApi = session.createCriteria(K8sApiStatusEntity.class);
	crtCurrenrApi.add(Property.forName("statusDate").eq(subMaxDate));
	DaoUtil.addEnvironmentToCriteria(envId, comIdList, crtCurrenrApi);
	crtCurrenrApi.setProjection(Projections.sum("totalApi"));
	long currentNumberOfApi = (long) (crtCurrenrApi.uniqueResult() == null ? (long)0 : crtCurrenrApi.uniqueResult());
	session.close();
	return currentNumberOfApi;
}
 
源代码3 项目: sakai   文件: SimplePageToolDaoImpl.java
public List<SimplePage> getTopLevelPages(final String siteId) {
    // set of all top level pages, actually the items pointing to them                                                                       
	try {
		List<SitePage> sitePages = siteService.getSite(siteId).getOrderedPages();
		if (sitePages.isEmpty()) {
			return null;
		}

		final List<String> sitePageIds = sitePages.stream().map(sp -> sp.getId()).collect(Collectors.toList());

		DetachedCriteria d = DetachedCriteria.forClass(SimplePage.class);
		d.add(Restrictions.in("toolId", sitePageIds));
		d.add(Restrictions.isNull("parent"));

		List<SimplePage> lessonsPages = (List<SimplePage>) getHibernateTemplate().findByCriteria(d);

		return lessonsPages;

	} catch (IdUnusedException e) {
		log.warn("Could not find site: " + siteId, e);
		return null;
	}

}
 
源代码4 项目: java-technology-stack   文件: HibernateTemplate.java
@Override
@SuppressWarnings("unchecked")
public List<?> findByCriteria(final DetachedCriteria criteria, final int firstResult, final int maxResults)
		throws DataAccessException {

	Assert.notNull(criteria, "DetachedCriteria must not be null");
	return nonNull(executeWithNativeSession((HibernateCallback<List<?>>) session -> {
		Criteria executableCriteria = criteria.getExecutableCriteria(session);
		prepareCriteria(executableCriteria);
		if (firstResult >= 0) {
			executableCriteria.setFirstResult(firstResult);
		}
		if (maxResults > 0) {
			executableCriteria.setMaxResults(maxResults);
		}
		return executableCriteria.list();
	}));
}
 
源代码5 项目: spring4-understanding   文件: HibernateTemplate.java
@Override
public List<?> findByCriteria(final DetachedCriteria criteria, final int firstResult, final int maxResults)
		throws DataAccessException {

	Assert.notNull(criteria, "DetachedCriteria must not be null");
	return executeWithNativeSession(new HibernateCallback<List<?>>() {
		@Override
		public List<?> doInHibernate(Session session) throws HibernateException {
			Criteria executableCriteria = criteria.getExecutableCriteria(session);
			prepareCriteria(executableCriteria);
			if (firstResult >= 0) {
				executableCriteria.setFirstResult(firstResult);
			}
			if (maxResults > 0) {
				executableCriteria.setMaxResults(maxResults);
			}
			return executableCriteria.list();
		}
	});
}
 
源代码6 项目: jeecg   文件: CriteriaQuery.java
public CriteriaQuery(Class entityClass,DataTables dataTables) {
	this.curPage = dataTables.getDisplayStart();
	String[] fieldstring=dataTables.getsColumns().split(",");

	this.detachedCriteria = DetachedCriteria.forClass(entityClass);
	//this.detachedCriteria = DetachedCriteriaUtil.createDetachedCriteria(entityClass, "start", "_table",fieldstring);

	
	this.field=dataTables.getsColumns();
	this.entityClass=entityClass;
	this.dataTables=dataTables;
	this.pageSize=dataTables.getDisplayLength();
	this.map = new HashMap<String, Object>();

	this.ordermap = new LinkedHashMap<String, Object>();

	addJqCriteria(dataTables);
}
 
源代码7 项目: TinyMooc   文件: HomePageController.java
@RequestMapping("goPersonalTeam.htm")
public ModelAndView goPersonalTeam(HttpServletRequest request) {
    String userId = request.getParameter("userId");
    User user1 = userService.findById(User.class, userId);
    DetachedCriteria dCriteria = DetachedCriteria.forClass(UserTeam.class);
    dCriteria.add(Restrictions.eq("user", user1));

    List<UserTeam> userTeam = userService.queryAllOfCondition(UserTeam.class, dCriteria);
    DetachedCriteria dCriteria2 = DetachedCriteria.forClass(Discuss.class);
    dCriteria2.add(Restrictions.eq("user", user1));
    List<Discuss> discussList = userService.queryAllOfCondition(Discuss.class, dCriteria2);

    request.setAttribute("user1", user1);
    request.setAttribute("userTeam", userTeam);
    request.setAttribute("discussList", discussList);
    return new ModelAndView("/userPage/userGroup");
}
 
源代码8 项目: DataHubSystem   文件: ProductService.java
/**
 * Odata dedicated Services
 */
@Transactional(readOnly = true)
@Cacheable (value = "product_count", key = "{#criteria, #uuid}")
public int countProducts (DetachedCriteria criteria, String uuid)
{
   if (criteria == null)
   {
      criteria = DetachedCriteria.forClass (Product.class);
   }

   // count only processed products
   criteria.add (Restrictions.eq ("processed", true));

   if (uuid != null)
   {
      List<Long> product_ids = collectionService.getProductIds (uuid);
      criteria.add (Restrictions.in ("id", product_ids));
   }
   criteria.setProjection (Projections.rowCount ());
   return productDao.count (criteria);
}
 
源代码9 项目: sakai   文件: SignupMeetingDaoImpl.java
@Override
public List<String> getAllCategories(String siteId) throws DataAccessException {
	DetachedCriteria criteria = DetachedCriteria.forClass(
			SignupMeeting.class).setProjection(Projections.distinct(Projections.projectionList()
				    	    .add(Projections.property("category"), "category") )).setResultTransformer(
			Criteria.DISTINCT_ROOT_ENTITY)				
			.addOrder(Order.asc("category")).createCriteria("signupSites")
			.add(Restrictions.eq("siteId", siteId));
	
	List<String> categorys = (List<String>) getHibernateTemplate().findByCriteria(criteria);
	
	if(categorys !=null && !categorys.isEmpty()){
		return categorys;
	}
	
	return null;
}
 
源代码10 项目: jeecg   文件: CriteriaQuery.java
public CriteriaQuery(Class<?> entityClass,DataGrid dg) {
	this.curPage = dg.getPage();
	//String[] fieldstring=dg.getField().split(",");
	//this.detachedCriteria = DetachedCriteriaUtil
	//.createDetachedCriteria(c, "start", "_table",fieldstring);
	this.detachedCriteria = DetachedCriteria.forClass(entityClass);
	//Criteria criteria = null;

	this.field=dg.getField();
	this.entityClass=entityClass;
	this.dataGrid=dg;
	this.pageSize=dg.getRows();
	this.map = new HashMap<String, Object>();

	this.ordermap = new LinkedHashMap<String, Object>();

}
 
源代码11 项目: ctsms   文件: ECRFFieldValueDaoImpl.java
private org.hibernate.Criteria[] createEcrfFieldCriteria(Long probandListEntryId, Long ecrfId) {
	org.hibernate.Criteria ecrfFieldCriteria = this.getSession().createCriteria(ECRFField.class, ServiceUtil.ECRF_FIELD_VALUE_DAO_ECRF_FIELD_ALIAS);
	ecrfFieldCriteria.add(Restrictions.eq("ecrf.id", ecrfId.longValue()));
	org.hibernate.Criteria ecrfFieldValueCriteria = ecrfFieldCriteria.createCriteria("fieldValues", ServiceUtil.ECRF_FIELD_VALUE_DAO_ECRF_FIELD_VALUE_ALIAS,
			CriteriaSpecification.LEFT_JOIN,
			Restrictions.eq(ServiceUtil.ECRF_FIELD_VALUE_DAO_ECRF_FIELD_VALUE_ALIAS + ".listEntry.id", probandListEntryId.longValue()));
	// correlated - slow:
	DetachedCriteria subQuery = createEcrfFieldValueDetachedCriteriaMaxId(ecrfFieldValueCriteria, ecrfFieldCriteria, null, probandListEntryId, null);
	subQuery.add(Restrictions.or(Restrictions.isNull("index"),
			Restrictions.eqProperty("index", ServiceUtil.ECRF_FIELD_VALUE_DAO_ECRF_FIELD_VALUE_ALIAS + ".index")));
	ecrfFieldValueCriteria.add(Restrictions.or(
			Restrictions.isNull("listEntry"),
			Restrictions.and(
					Restrictions.eq("listEntry.id", probandListEntryId.longValue()),
					Subqueries.propertyIn("id", subQuery))));
	return new org.hibernate.Criteria[] { ecrfFieldCriteria, ecrfFieldValueCriteria };
}
 
源代码12 项目: csustRepo   文件: BaseDaoImpl.java
/**
	 * 通过Criteria来查询
	 * @param criterion
	 * @param order
	 * @return 查询实体对象的结果列表
	 */
	@Transactional
	public List<T> cquery(Collection<Criterion> criterions,
			Collection<Order> orders) {
//		Session session=getSessionBeginTx();
//		
//		Criteria criteria = criteriaQuery(session,criterions, orders);
//		
//		List<T> list= criteria.list();
//		//提交事务
//		closeCommitTx(session);
		DetachedCriteria dc=DetachedCriteria.forClass(entityClass);
		if(criterions!=null){
			for (Criterion criterion : criterions) {
				dc.add(criterion);
			}
		}
		if(orders!=null){
			for (Order order : orders) {
				dc.addOrder(order);
			}
		}
		
		return getHibernateTemplate().findByCriteria(dc);
	}
 
源代码13 项目: TinyMooc   文件: CourseController.java
@RequestMapping("createLessonPage.htm")
public ModelAndView createLessonPage(HttpServletRequest req, HttpServletResponse res) {
    String courseId = ServletRequestUtils.getStringParameter(req, "courseId", "");
    Course course = courseService.findById(Course.class, courseId);
    DetachedCriteria detachedCriteria1 = DetachedCriteria.forClass(UserCourse.class)
            .createCriteria("course")
            .add(Restrictions.eq("course", course));
    List<UserCourse> userCourseList = (List<UserCourse>) courseService.queryAllOfCondition(UserCourse.class, detachedCriteria1);
    int lessons = userCourseList.size();
    req.setAttribute("course", course);
    req.setAttribute("lessons", lessons);
    return new ModelAndView("/course/createLesson");
}
 
源代码14 项目: sakai   文件: SimplePageToolDaoImpl.java
public SimplePageItem findItemFromStudentPage(long pageId) {
	DetachedCriteria d = DetachedCriteria.forClass(SimpleStudentPage.class).add(Restrictions.eq("pageId", pageId));

	List<SimpleStudentPage> list = (List<SimpleStudentPage>) getHibernateTemplate().findByCriteria(d);

	if(list.size() > 0) {
		return findItem(list.get(0).getItemId());
	}else {
		return null;
	}
}
 
源代码15 项目: Mall-Server   文件: SecondKillDaoImpl.java
@Override
public SecondKill findById(int id) {
    DetachedCriteria criteria = DetachedCriteria.forClass(SecondKill.class);
    criteria.add(Restrictions.eq("id", id));
    List<SecondKill> resultList = (List<SecondKill>) template.findByCriteria(criteria);
    if (resultList.size() == 0) {
        return null;
    }
    return resultList.get(0);
}
 
源代码16 项目: jeecg   文件: DepartController.java
/**
	 * 方法描述:  成员列表dataGrid
	 * 作    者: yiming.zhang
	 * 日    期: Dec 4, 2013-10:40:17 PM
	 * @param user
	 * @param request
	 * @param response
	 * @param dataGrid 
	 * 返回类型: void
	 */
	@RequestMapping(params = "userDatagrid")
	public void userDatagrid(TSUser user,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
		if(user!=null&&user.getDepartid()!=null){
			user.setDepartid(null);//设置用户的所属部门的查询条件为空;
		}
		CriteriaQuery cq = new CriteriaQuery(TSUser.class, dataGrid);
		//查询条件组装器
		org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, user);
		String departid = oConvertUtils.getString(request.getParameter("departid"));
		if (!StringUtil.isEmpty(departid)) {
			DetachedCriteria dc = cq.getDetachedCriteria();
			DetachedCriteria dcDepart = dc.createCriteria("userOrgList");
			dcDepart.add(Restrictions.eq("tsDepart.id", departid));
            // 这种方式也是可以的
//            DetachedCriteria dcDepart = dc.createAlias("userOrgList", "userOrg");
//            dcDepart.add(Restrictions.eq("userOrg.tsDepart.id", departid));

		}
		Short[] userstate = new Short[] { Globals.User_Normal, Globals.User_ADMIN };
		cq.in("status", userstate);

        //cq.eq("deleteFlag", Globals.Delete_Normal);//删除状态,不删除
        //cq.eq("userType",Globals.USER_TYPE_SYSTEM);//系统用户

		cq.add();
		this.systemService.getDataGridReturn(cq, true);
		TagUtil.datagrid(response, dataGrid);
	}
 
源代码17 项目: Mall-Server   文件: MerchantDaoImpl.java
@Override
public Merchant findById(int id) {
    DetachedCriteria criteria = DetachedCriteria.forClass(Merchant.class);
    criteria.add(Restrictions.eq("id", id));
    List<Merchant> resultList = (List<Merchant>) template.findByCriteria(criteria);
    if (resultList.size() == 0) {
        return null;
    }
    return resultList.get(0);
}
 
源代码18 项目: sakai   文件: SimplePageToolDaoImpl.java
public SimplePageQuestionResponse findQuestionResponse(long questionId, String userId) {
       DetachedCriteria d = DetachedCriteria.forClass(SimplePageQuestionResponse.class).add(Restrictions.eq("questionId", questionId))
       		.add(Restrictions.eq("userId", userId));

       List<SimplePageQuestionResponse> list = (List<SimplePageQuestionResponse>) getHibernateTemplate().findByCriteria(d);
       if(list != null && list.size() > 0) {
       	return list.get(0);
       }else {
       	return null;
       }
}
 
源代码19 项目: sakai   文件: SimplePageToolDaoImpl.java
public List<SimplePageComment> findCommentsOnItemByAuthor(long commentWidgetId, String author) {
	DetachedCriteria d = DetachedCriteria.forClass(SimplePageComment.class)
	    .add(Restrictions.eq("itemId", commentWidgetId))
	    .add(Restrictions.eq("author", author));

	return (List<SimplePageComment>) getHibernateTemplate().findByCriteria(d);
}
 
源代码20 项目: DataHubSystem   文件: ProductService.java
@Transactional(readOnly = true)
public Product getProductByOrigin (final String origin)
{
   DetachedCriteria criteria = DetachedCriteria.forClass (Product.class);
   criteria.add (Restrictions.eq ("origin", origin));
   return productDao.uniqueResult (criteria);
}
 
源代码21 项目: TinyMooc   文件: FavoriteController.java
@SuppressWarnings("unchecked")
@RequestMapping("myFavorite.htm")
public ModelAndView myFavotite(HttpServletRequest req, HttpServletResponse res) throws MarsException {
    User user = (User) req.getSession().getAttribute("user");
    DetachedCriteria dCriteria = DetachedCriteria.forClass(Favorite.class)
            .add(Restrictions.eq("user", user));

    int pageSize = 5;
    int totalPage = favoriteService.countTotalPage(dCriteria, pageSize);
    PageHelper.forPage(totalPage, pageSize);
    List<Favorite> favorites = (List<Favorite>) favoriteService.getByPage(dCriteria, pageSize);
    req.setAttribute("favorites", favorites);
    return new ModelAndView("/favorite/myFavorite");
}
 
源代码22 项目: Mall-Server   文件: AdminGroupDaoImpl.java
@Override
public AdminGroup findById(int id) {
    DetachedCriteria criteria = DetachedCriteria.forClass(AdminGroup.class);
    criteria.add(Restrictions.eq("id", id));
    List<AdminGroup> resultList = (List<AdminGroup>) template.findByCriteria(criteria);

    if (resultList.size() == 0) {
        return null;
    }
    return resultList.get(0);
}
 
源代码23 项目: dhis2-core   文件: HibernateGenericStore.java
/**
 * Creates a Criteria for the implementation Class type.
 * <p>
 * Please note that sharing is not considered.
 *
 * @return a Criteria instance.
 */
@Deprecated
public final Criteria getCriteria()
{
    DetachedCriteria criteria = DetachedCriteria.forClass( getClazz() );

    preProcessDetachedCriteria( criteria );

    return getExecutableCriteria( criteria );
}
 
源代码24 项目: sakai   文件: SimplePageToolDaoImpl.java
public List<SimplePageItem> findTopLevelPageItemsBySakaiIds(List<String> ids) {
	DetachedCriteria d = DetachedCriteria.forClass(SimplePageItem.class)
		.add(Restrictions.in("sakaiId", ids))
		.add(Restrictions.eq("pageId", 0L))
		.add(Restrictions.eq("type",SimplePageItem.PAGE));

	List<SimplePageItem> list = (List<SimplePageItem>) getHibernateTemplate().findByCriteria(d);

	if (list == null || list.size() < 1) {
		return null;
	}

	return list;
}
 
源代码25 项目: dhis2-core   文件: CriteriaQueryEngine.java
@Override
@SuppressWarnings( "unchecked" )
public int count( Query query )
{
    Schema schema = query.getSchema();
    InternalHibernateGenericStore<?> store = getStore( (Class<? extends IdentifiableObject>) schema.getKlass() );

    if ( store == null )
    {
        return 0;
    }

    if ( query.getUser() == null )
    {
        query.setUser( currentUserService.getCurrentUser() );
    }

    if ( !query.isPlannedQuery() )
    {
        QueryPlan queryPlan = queryPlanner.planQuery( query, true );
        query = queryPlan.getPersistedQuery();
    }

    DetachedCriteria detachedCriteria = buildCriteria( store.getSharingDetachedCriteria( query.getUser() ), query );
    Criteria criteria = store.getCriteria();

    if ( criteria == null )
    {
        return 0;
    }

    return ((Number) criteria.add( Subqueries.propertyIn( "id", detachedCriteria ) )
        .setProjection( Projections.countDistinct( "id" ) )
        .uniqueResult()).intValue();
}
 
源代码26 项目: Mall-Server   文件: GoodsCommentDaoImpl.java
@Override
public int getCountByGoodsId(int goodsId) {
    DetachedCriteria criteria = DetachedCriteria.forClass(GoodsComment.class);

    criteria.add(Restrictions.eq("goodsid", goodsId));
    criteria.setProjection(Projections.rowCount());

    Object obj  = template.findByCriteria(criteria).get(0);
    Long longObj = (Long) obj;
    int count = longObj.intValue();
    return count;
}
 
源代码27 项目: sakai   文件: SimplePageToolDaoImpl.java
public List<SimplePage> getSitePages(String siteId) {
    DetachedCriteria d = DetachedCriteria.forClass(SimplePage.class).add(Restrictions.eq("siteId", siteId))
	    .add(Restrictions.disjunction()
			    .add(Restrictions.isNull("owner"))
			    .add(Restrictions.eq("owned", true))
	    );

	List<SimplePage> l = (List<SimplePage>) getHibernateTemplate().findByCriteria(d);

	if (l != null && l.size() > 0) {
	    return l;
	} else {
	    return null;
	}
}
 
源代码28 项目: sakai   文件: SimplePageToolDaoImpl.java
public List<SimplePageLogEntry> getStudentPageLogEntries(long itemId, String userId) {		
	DetachedCriteria d = DetachedCriteria.forClass(SimplePageLogEntry.class).add(Restrictions.eq("userId", userId))
			.add(Restrictions.eq("itemId", itemId))
			.add(Restrictions.isNotNull("studentPageId"));

	return (List<SimplePageLogEntry>) getHibernateTemplate().findByCriteria(d);
}
 
源代码29 项目: sakai   文件: SignupMeetingDaoImpl.java
/**
 * {@inheritDoc}
 */
@SuppressWarnings("unchecked")
public List<SignupMeeting> getAutoReminderSignupMeetings(Date startDate,
		Date endDate) {
	DetachedCriteria criteria = DetachedCriteria.forClass(
			SignupMeeting.class).setResultTransformer(
			Criteria.DISTINCT_ROOT_ENTITY).add(Restrictions.eq("autoReminder", true))
			//.add(Restrictions.between("startTime", startDate, endDate))
			.add(Restrictions.le("startTime", endDate))
			.add(Restrictions.ge("endTime",startDate))
			.addOrder(Order.asc("startTime"));		

	return (List<SignupMeeting>) getHibernateTemplate().findByCriteria(criteria);
}
 
源代码30 项目: sakai   文件: SimplePageToolDaoImpl.java
public SimplePageComment findCommentById(long commentId) {
	DetachedCriteria d = DetachedCriteria.forClass(SimplePageComment.class).add(Restrictions.eq("id", commentId));
	List<SimplePageComment> list = (List<SimplePageComment>) getHibernateTemplate().findByCriteria(d);
	
	if(list.size() > 0) {
		return list.get(0);
	}else {
		return null;
	}
}
 
 类所在包
 同包方法