org.hibernate.criterion.Subqueries#org.hibernate.criterion.Property源码实例Demo

下面列出了org.hibernate.criterion.Subqueries#org.hibernate.criterion.Property 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: kardio   文件: ApiStatusDaoImpl.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(ApiStatusEntity.class);
	subMaxDate.setProjection(Projections.max("statusDate"));
	Criteria crtCurrenrApi = session.createCriteria(ApiStatusEntity.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;
}
 
源代码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 项目: Knowage-Server   文件: KpiDAOImpl.java
@Override
public List<String> listPlaceholderByMeasures(final List<String> measures) {
    List<SbiKpiPlaceholder> lst = list(new ICriterion<SbiKpiPlaceholder>() {
        @Override
        public Criteria evaluate(Session session) {
            DetachedCriteria detachedCriteria = DetachedCriteria.forClass(SbiKpiRuleOutput.class).createAlias("sbiKpiRule", "sbiKpiRule")
                    .createAlias("sbiKpiAlias", "sbiKpiAlias").setProjection(Property.forName("sbiKpiRule.sbiKpiRuleId.id"))
                    .add(Restrictions.eq("sbiKpiRule.active", 'T')).add(Restrictions.in("sbiKpiAlias.name", measures));

            Criteria c = session.createCriteria(SbiKpiRule.class).createAlias("sbiKpiPlaceholders", "sbiKpiPlaceholders")
                    .add(Property.forName("sbiKpiRuleId.id").in(detachedCriteria)).add(Restrictions.eq("active", 'T'))
                    .setProjection(Projections.distinct(Projections.property("sbiKpiPlaceholders.name").as("name")))
                    .setResultTransformer(Transformers.aliasToBean(SbiKpiPlaceholder.class));
            return c;
        }
    });
    List<String> placeholdername = new ArrayList<>();
    for (SbiKpiPlaceholder sbiKpiPlaceholder : lst) {
        placeholdername.add(sbiKpiPlaceholder.getName());
    }
    return placeholdername;
}
 
源代码4 项目: Knowage-Server   文件: KpiDAOImpl.java
private SbiKpiExecutionFilter from(SchedulerFilter schedulerFilter, SbiKpiExecutionFilter sbiFilter, Session session) {
    Integer placeholderId = null;
    if (schedulerFilter.getPlaceholderId() != null) {
        placeholderId = schedulerFilter.getPlaceholderId();
    } else if (schedulerFilter.getPlaceholderName() != null) {
        placeholderId = (Integer) session.createCriteria(SbiKpiPlaceholder.class).add(Restrictions.eq("name", schedulerFilter.getPlaceholderName()))
                .setProjection(Property.forName("id")).uniqueResult();
    }
    if (sbiFilter == null) {
        sbiFilter = new SbiKpiExecutionFilter();
        SbiKpiExecutionFilterId id = new SbiKpiExecutionFilterId(placeholderId, schedulerFilter.getExecutionId(), schedulerFilter.getKpiId(),
                schedulerFilter.getKpiVersion());
        sbiFilter.setSbiKpiExecutionFilterId(id);
        updateSbiCommonInfo4Insert(sbiFilter);
    } else {
        updateSbiCommonInfo4Update(sbiFilter);
    }
    sbiFilter.setValue(schedulerFilter.getValue());
    sbiFilter.setTypeId(schedulerFilter.getType().getValueId());
    return sbiFilter;
}
 
源代码5 项目: cacheonix-core   文件: ComponentTest.java
public void afterConfigurationBuilt(Mappings mappings, Dialect dialect) {
	super.afterConfigurationBuilt( mappings, dialect );
	// Oracle and Postgres do not have year() functions, so we need to
	// redefine the 'User.person.yob' formula
	//
	// consider temporary until we add the capability to define
	// mapping foprmulas which can use dialect-registered functions...
	PersistentClass user = mappings.getClass( User.class.getName() );
	org.hibernate.mapping.Property personProperty = user.getProperty( "person" );
	Component component = ( Component ) personProperty.getValue();
	Formula f = ( Formula ) component.getProperty( "yob" ).getValue().getColumnIterator().next();

	SQLFunction yearFunction = ( SQLFunction ) dialect.getFunctions().get( "year" );
	if ( yearFunction == null ) {
		// the dialect not know to support a year() function, so rely on the
		// ANSI SQL extract function
		f.setFormula( "extract( year from dob )");
	}
	else {
		List args = new ArrayList();
		args.add( "dob" );
		f.setFormula( yearFunction.render( args, null ) );
	}
}
 
源代码6 项目: cacheonix-core   文件: ComponentTest.java
public void testComponentFormulaQuery() {
	Session s = openSession();
	Transaction t = s.beginTransaction();
	s.createQuery("from User u where u.person.yob = 1999").list();
	s.createCriteria(User.class)
		.add( Property.forName("person.yob").between( new Integer(1999), new Integer(2002) ) )
		.list();
	if ( getDialect().supportsRowValueConstructorSyntax() ) {
		s.createQuery("from User u where u.person = ('gavin', :dob, 'Peachtree Rd', 'Karbarook Ave', 1974, 'Peachtree Rd')")
			.setDate("dob", new Date("March 25, 1974")).list();
		s.createQuery("from User where person = ('gavin', :dob, 'Peachtree Rd', 'Karbarook Ave', 1974, 'Peachtree Rd')")
			.setDate("dob", new Date("March 25, 1974")).list();
	}
	t.commit();
	s.close();
}
 
源代码7 项目: jeecg   文件: InterroleController.java
/**
 * 获取 除当前 角色之外的用户信息列表
 * 
 * @param request
 *            request
 * @return 处理结果信息
 */
@RequestMapping(params = "addUserToRoleList")
public void addUserToOrgList(TSUser user, HttpServletRequest request, HttpServletResponse response,
		DataGrid dataGrid) {
	String roleId = request.getParameter("roleId");

	CriteriaQuery cq = new CriteriaQuery(TSUser.class, dataGrid);
	org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, user);

	// 获取 当前组织机构的用户信息
	CriteriaQuery subCq = new CriteriaQuery(InterroleUserEntity.class);
	subCq.setProjection(Property.forName("TSUser.id"));
	subCq.eq("interroleEntity.id", roleId);
	subCq.add();
	cq.eq("userType", "2");
	cq.add(Property.forName("id").notIn(subCq.getDetachedCriteria()));
	cq.add();

	this.systemService.getDataGridReturn(cq, true);
	TagUtil.datagrid(response, dataGrid);
}
 
源代码8 项目: jeecg   文件: OrganzationController.java
/**
 * 获取 除当前 组织之外的用户信息列表
 * @param request request
 * @return 处理结果信息
 */
@RequestMapping(params = "addUserToOrgList")
public void addUserToOrgList(TSUser user, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
    String orgId = request.getParameter("orgId");

    CriteriaQuery cq = new CriteriaQuery(TSUser.class, dataGrid);
    org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, user);

    // 获取 当前组织机构的用户信息
    CriteriaQuery subCq = new CriteriaQuery(TSUserOrg.class);
    subCq.setProjection(Property.forName("tsUser.id"));
    subCq.eq("tsDepart.id", orgId);
    subCq.add();

    cq.add(Property.forName("id").notIn(subCq.getDetachedCriteria()));
    cq.add();

    this.systemService.getDataGridReturn(cq, true);
    TagUtil.datagrid(response, dataGrid);
}
 
源代码9 项目: jeecg   文件: DepartController.java
/**
 * 获取 除当前 组织之外的用户信息列表
 * @param request request
 * @return 处理结果信息
 */
@RequestMapping(params = "addUserToOrgList")
public void addUserToOrgList(TSUser user, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
    String orgId = request.getParameter("orgId");

    CriteriaQuery cq = new CriteriaQuery(TSUser.class, dataGrid);
    org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, user);

    // 获取 当前组织机构的用户信息
    CriteriaQuery subCq = new CriteriaQuery(TSUserOrg.class);
    subCq.setProjection(Property.forName("tsUser.id"));
    subCq.eq("tsDepart.id", orgId);
    subCq.add();

    cq.add(Property.forName("id").notIn(subCq.getDetachedCriteria()));

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

    cq.add();

    this.systemService.getDataGridReturn(cq, true);
    TagUtil.datagrid(response, dataGrid);
}
 
源代码10 项目: jeecg   文件: RoleController.java
/**
 * 获取 除当前 角色之外的用户信息列表
 * @param request request
 * @return 处理结果信息
 */
@RequestMapping(params = "addUserToRoleList")
public void addUserToOrgList(TSUser user, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
    String roleId = request.getParameter("roleId");

    CriteriaQuery cq = new CriteriaQuery(TSUser.class, dataGrid);
    org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, user);

    // 获取 当前组织机构的用户信息
    CriteriaQuery subCq = new CriteriaQuery(TSRoleUser.class);
    subCq.setProjection(Property.forName("TSUser.id"));
    subCq.eq("TSRole.id", roleId);
    subCq.add();
    
    cq.add(Property.forName("id").notIn(subCq.getDetachedCriteria()));

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

    cq.add();

    this.systemService.getDataGridReturn(cq, true);
    TagUtil.datagrid(response, dataGrid);
}
 
源代码11 项目: kardio   文件: DaoUtil.java
public static void addEnvironmentToCriteria(int envId, List<Integer> compIds, Criteria criteria) {
	criteria.createCriteria("environment", "environment");
	if(envId != 0){
		criteria.add(Restrictions.eq("environment.environmentId", envId));
	}
	criteria.add(Restrictions.eq("environment.envLock", 0));
	if(compIds.size() > 0){
		criteria.add(Property.forName("component.componentId").in(compIds));
	}
}
 
源代码12 项目: uyuni   文件: StateFactory.java
private static <T extends StateRevision> Optional<T> latestRevision(
        Class<T> revisionType, String field, Object bean) {
    DetachedCriteria maxQuery = DetachedCriteria.forClass(revisionType)
            .add(Restrictions.eq(field, bean))
            .setProjection(Projections.max("id"));
    T revision = (T) getSession()
            .createCriteria(revisionType)
            .add(Restrictions.eq(field, bean))
            .add(Property.forName("id").eq(maxQuery))
            .uniqueResult();
    return Optional.ofNullable(revision);
}
 
源代码13 项目: Knowage-Server   文件: RoleDAOHibImpl.java
/**
 * Get the Meta Model Categories associated to a role
 *
 * @see it.eng.spagobi.commons.dao.IRoleDAO#getMetaModelCategoryForRole(java.lang.Integer)
 */
@Override
public List<Integer> getMetaModelCategoriesForRoles(final Collection<String> roles) throws EMFUserError {
	return executeOnTransaction(new IExecuteOnTransaction<List<Integer>>() {
		@Override
		public List<Integer> execute(Session session) throws Exception {
			Criteria c = session.createCriteria(SbiExtRoles.class);
			c.add(Restrictions.in("name", roles));
			c.createAlias("sbiMetaModelCategories", "_sbiMetaModelCategories");
			c.setProjection(Property.forName("_sbiMetaModelCategories.valueId"));
			return c.list();
		}
	});
}
 
源代码14 项目: Knowage-Server   文件: OutputParameterDAOImpl.java
@Override
public void removeParametersByBiobjId(Integer biobjId, Session session) throws EMFUserError {
	List<Integer> ids = session.createCriteria(SbiOutputParameter.class).add(Restrictions.eq("biobjId", biobjId)).setProjection(Property.forName("id"))
			.list();
	for (Integer id : ids) {
		removeParameter(id, session);
	}
}
 
源代码15 项目: Knowage-Server   文件: OutputParameterDAOImpl.java
@Override
public void removeUserDefinedParametersByBiobjId(Integer biobjId, Session session) throws EMFUserError {
	List<Integer> ids = session.createCriteria(SbiOutputParameter.class).add(Restrictions.eq("biobjId", biobjId))
			.add(Restrictions.eq("isUserDefined", true)).setProjection(Property.forName("id")).list();
	for (Integer id : ids) {
		removeParameter(id, session);
	}
}
 
源代码16 项目: Knowage-Server   文件: OutputParameterDAOImpl.java
@Override
public void removeSystemDefinedParametersByBiobjId(Integer biobjId, Session session) throws EMFUserError {

	List<Integer> ids = session.createCriteria(SbiOutputParameter.class).add(Restrictions.eq("biobjId", biobjId)).add(Restrictions.isNull("isUserDefined"))
			.setProjection(Property.forName("id")).list();
	// .add(Restrictions.eq("isUserDefined", false)).setProjection(Property.forName("id")).list();
	for (Integer id : ids) {
		removeParameter(id, session);
	}
}
 
源代码17 项目: Knowage-Server   文件: QuarzSchedulerDAOImpl.java
@Override
public List<String> listTriggerPausedByGroup(final String triggerGroup, final String jobGroup) {
	return executeOnTransaction(new IExecuteOnTransaction<List<String>>() {
		@Override
		public List<String> execute(Session session) throws Exception {
			List<String> suspendedTriggers = session.createCriteria(SbiTriggerPaused.class).add(Restrictions.eq("triggerGroup", triggerGroup))
					.add(Restrictions.eq("jobGroup", jobGroup)).setProjection(Property.forName("triggerName")).list();
			return suspendedTriggers;
		}
	});
}
 
源代码18 项目: Knowage-Server   文件: KpiDAOImpl.java
@Override
public void removeRule(final Integer id, final Integer version, final boolean toBeVersioned) {
    executeOnTransaction(new IExecuteOnTransaction<Boolean>() {
        @Override
        public Boolean execute(Session session) throws Exception {
            SbiKpiRule rule = (SbiKpiRule) session.load(SbiKpiRule.class, new SbiKpiRuleId(id, version));

            if (toBeVersioned && Character.valueOf('T').equals(rule.getActive())) {
                rule.setActive(null);
            } else {
                // Deleting placeholders
                for (SbiKpiPlaceholder sbiKpiPlaceholder : rule.getSbiKpiPlaceholders()) {
                    session.delete(sbiKpiPlaceholder);
                }

                // Deleting Rule
                session.delete(rule);
                session.flush();

                // Deleting unused categories
                DetachedCriteria usedCategories = DetachedCriteria.forClass(SbiKpiRuleOutput.class).createAlias("category", "category")
                        .add(Restrictions.isNotNull("category")).setProjection(Property.forName("category.valueId"));
                List<SbiDomains> categoriesToDelete = session.createCriteria(SbiDomains.class).add(Restrictions.eq("domainCd", KPI_MEASURE_CATEGORY))
                        .add(Property.forName("valueId").notIn(usedCategories)).list();
                for (SbiDomains cat : categoriesToDelete) {
                    session.delete(cat);
                }

                // Deleting unused aliases
                DetachedCriteria usedAliases = DetachedCriteria.forClass(SbiKpiRuleOutput.class).createAlias("sbiKpiAlias", "sbiKpiAlias")
                        .setProjection(Property.forName("sbiKpiAlias.id"));
                List<SbiKpiAlias> aliasesToDelete = session.createCriteria(SbiKpiAlias.class).add(Property.forName("id").notIn(usedAliases)).list();
                for (SbiKpiAlias alias : aliasesToDelete) {
                    session.delete(alias);
                }
            }
            return Boolean.TRUE;
        }
    });
}
 
源代码19 项目: Knowage-Server   文件: KpiDAOImpl.java
@Override
public List<Alias> listAliasNotInMeasure(final Integer ruleId, final Integer ruleVersion) {
    return executeOnTransaction(new IExecuteOnTransaction<List<Alias>>() {
        @Override
        public List<Alias> execute(Session session) throws Exception {
            DetachedCriteria dc = DetachedCriteria.forClass(SbiKpiRuleOutput.class).createAlias("type", "_type").createAlias("sbiKpiRule", "_sbiKpiRule")
                    .createAlias("sbiKpiAlias", "_sbiKpiAlias").add(Restrictions.eq("_type.valueCd", MEASURE))
                    .add(Restrictions.eq("_sbiKpiRule.active", 'T')).setProjection(Property.forName("_sbiKpiAlias.id"));

            // Retriving all aliases not used as measure
            List<SbiKpiAlias> alias = session.createCriteria(SbiKpiAlias.class).add(Subqueries.propertyNotIn("id", dc)).list();
            Set<SbiKpiAlias> sbiAlias = new HashSet<>(alias);
            if (ruleId != null && ruleVersion != null) {
                List<SbiKpiAlias> aliasesUsedByCurrentRule = session.createCriteria(SbiKpiAlias.class)
                        .createAlias("sbiKpiRuleOutputs", "_sbiKpiRuleOutputs").createAlias("_sbiKpiRuleOutputs.sbiKpiRule", "_sbiKpiRule")
                        .add(Restrictions.eq("_sbiKpiRule.sbiKpiRuleId.id", ruleId)).add(Restrictions.eq("_sbiKpiRule.sbiKpiRuleId.version", ruleVersion))
                        .list();
                sbiAlias.addAll(aliasesUsedByCurrentRule);
            }

            List<Alias> ret = new ArrayList<>();
            for (SbiKpiAlias sbiKpiAlias : sbiAlias) {
                ret.add(new Alias(sbiKpiAlias.getId(), sbiKpiAlias.getName()));
            }
            return ret;
        }
    });
}
 
源代码20 项目: Knowage-Server   文件: KpiDAOImpl.java
@Override
public List<Alias> listAliasInMeasure(final Integer ruleId, final Integer ruleVersion) {
    return executeOnTransaction(new IExecuteOnTransaction<List<Alias>>() {
        @Override
        public List<Alias> execute(Session session) throws Exception {
            DetachedCriteria dc = DetachedCriteria.forClass(SbiKpiRuleOutput.class).createAlias("type", "_type").createAlias("sbiKpiRule", "_sbiKpiRule")
                    .createAlias("sbiKpiAlias", "_sbiKpiAlias").add(Restrictions.eq("_type.valueCd", MEASURE))
                    .add(Restrictions.eq("_sbiKpiRule.active", 'T')).setProjection(Property.forName("_sbiKpiAlias.id"));

            // Retriving all aliases not used as measure
            List<SbiKpiAlias> alias = session.createCriteria(SbiKpiAlias.class).add(Subqueries.propertyIn("id", dc)).list();
            Set<SbiKpiAlias> sbiAlias = new HashSet<>(alias);
            if (ruleId != null && ruleVersion != null) {
                List<SbiKpiAlias> aliasesUsedByCurrentRule = session.createCriteria(SbiKpiAlias.class)
                        .createAlias("sbiKpiRuleOutputs", "_sbiKpiRuleOutputs").createAlias("_sbiKpiRuleOutputs.sbiKpiRule", "_sbiKpiRule")
                        .add(Restrictions.eq("_sbiKpiRule.sbiKpiRuleId.id", ruleId)).add(Restrictions.eq("_sbiKpiRule.sbiKpiRuleId.version", ruleVersion))
                        .list();
                sbiAlias.removeAll(aliasesUsedByCurrentRule);
            }

            List<Alias> ret = new ArrayList<>();
            for (SbiKpiAlias sbiKpiAlias : sbiAlias) {
                ret.add(new Alias(sbiKpiAlias.getId(), sbiKpiAlias.getName()));
            }
            return ret;
        }
    });
}
 
源代码21 项目: cacheonix-core   文件: JoinedSubclassTest.java
public void testQuerySubclassAttribute() {
	Session s = openSession();
	Transaction t = s.beginTransaction();
	Person p = new Person();
	p.setName("Emmanuel");
	p.setSex('M');
	s.persist(p);
	Employee q = new Employee();
	q.setName("Steve");
	q.setSex('M');
	q.setTitle("Mr");
	q.setSalary( new BigDecimal(1000) );
	s.persist(q);

	List result = s.createQuery("from Person where salary > 100").list();
	assertEquals( result.size(), 1 );
	assertSame( result.get(0), q );

	result = s.createQuery("from Person where salary > 100 or name like 'E%'").list();
	assertEquals( result.size(), 2 );

	result = s.createCriteria(Person.class)
		.add( Property.forName("salary").gt( new BigDecimal(100) ) )
		.list();
	assertEquals( result.size(), 1 );
	assertSame( result.get(0), q );

	//TODO: make this work:
	/*result = s.createQuery("select salary from Person where salary > 100").list();
	assertEquals( result.size(), 1 );
	assertEquals( result.get(0), new BigDecimal(1000) );*/

	s.delete(p);
	s.delete(q);
	t.commit();
	s.close();
}
 
源代码22 项目: cacheonix-core   文件: DiscriminatorTest.java
public void testQuerySubclassAttribute() {
	Session s = openSession();
	Transaction t = s.beginTransaction();
	Person p = new Person();
	p.setName("Emmanuel");
	p.setSex('M');
	s.persist(p);
	Employee q = new Employee();
	q.setName("Steve");
	q.setSex('M');
	q.setTitle("Mr");
	q.setSalary( new BigDecimal(1000) );
	s.persist(q);

	List result = s.createQuery("from Person where salary > 100").list();
	assertEquals( result.size(), 1 );
	assertSame( result.get(0), q );

	result = s.createQuery("from Person where salary > 100 or name like 'E%'").list();
	assertEquals( result.size(), 2 );

	result = s.createCriteria(Person.class)
		.add( Property.forName("salary").gt( new BigDecimal(100) ) )
		.list();
	assertEquals( result.size(), 1 );
	assertSame( result.get(0), q );

	//TODO: make this work:
	/*result = s.createQuery("select salary from Person where salary > 100").list();
	assertEquals( result.size(), 1 );
	assertEquals( result.get(0), new BigDecimal(1000) );*/

	s.delete(p);
	s.delete(q);
	t.commit();
	s.close();
}
 
源代码23 项目: cacheonix-core   文件: CriteriaQueryTest.java
public void testClassProperty() {
	Session s = openSession();
	Transaction t = s.beginTransaction();

	// HQL: from Animal a where a.mother.class = Reptile
	Criteria c = s.createCriteria(Animal.class,"a")
		.createAlias("mother","m")
		.add( Property.forName("m.class").eq(Reptile.class) );
	c.list();
	t.rollback();
	s.close();
}
 
源代码24 项目: cacheonix-core   文件: UnionSubclassTest.java
public void testQuerySubclassAttribute() {
	if ( getDialect() instanceof HSQLDialect ) {
		return; // TODO : why??
	}
	
	Session s = openSession();
	Transaction t = s.beginTransaction();
	Person p = new Person();
	p.setName("Emmanuel");
	p.setSex('M');
	s.persist(p);
	Employee q = new Employee();
	q.setName("Steve");
	q.setSex('M');
	q.setTitle("Mr");
	q.setSalary( new BigDecimal(1000) );
	s.persist(q);

	List result = s.createQuery("from Person where salary > 100").list();
	assertEquals( result.size(), 1 );
	assertSame( result.get(0), q );
	
	result = s.createQuery("from Person where salary > 100 or name like 'E%'").list();
	assertEquals( result.size(), 2 );		

	result = s.createCriteria(Person.class)
		.add( Property.forName("salary").gt( new BigDecimal(100) ) )
		.list();
	assertEquals( result.size(), 1 );
	assertSame( result.get(0), q );

	result = s.createQuery("select salary from Person where salary > 100").list();
	assertEquals( result.size(), 1 );
	assertEquals( ( (BigDecimal) result.get(0) ).intValue(), 1000 );
	
	s.delete(p);
	s.delete(q);
	t.commit();
	s.close();
}
 
源代码25 项目: livingdoc-confluence   文件: HibernateProjectDao.java
@Override
public Project getByName(String name) {
    final Criteria crit = sessionService.getSession().createCriteria(Project.class);
    crit.add(Property.forName("name").eq(name));
    Project project = ( Project ) crit.uniqueResult();
    HibernateLazyInitializer.init(project);
    return project;
}
 
@Override
public Repository getByUID(String repositoryUid) {
    final Criteria crit = sessionService.getSession().createCriteria(Repository.class);
    crit.add(Property.forName("uid").eq(repositoryUid));
    Repository repository = ( Repository ) crit.uniqueResult();
    HibernateLazyInitializer.init(repository);
    return repository;
}
 
@Override
public Repository getByName(String projectName, String repositoryName) {
    final Criteria crit = sessionService.getSession().createCriteria(Repository.class);
    crit.add(Property.forName("name").eq(repositoryName));
    crit.createAlias("project", "p");
    crit.add(Restrictions.eq("p.name", projectName));
    Repository repository = ( Repository ) crit.uniqueResult();
    HibernateLazyInitializer.init(repository);
    return repository;
}
 
@Override
public RepositoryType getTypeByName(String repositoryTypeName) {
    final Criteria crit = sessionService.getSession().createCriteria(RepositoryType.class);
    crit.add(Property.forName("name").eq(repositoryTypeName));
    RepositoryType repositoryType = ( RepositoryType ) crit.uniqueResult();
    HibernateLazyInitializer.init(repositoryType);
    return repositoryType;
}
 
@Override
public SystemInfo getSystemInfo() {
    final Criteria crit = sessionService.getSession().createCriteria(SystemInfo.class);
    crit.add(Property.forName("id").eq(SYSTEM_INFO));
    SystemInfo systemInfo = ( SystemInfo ) crit.uniqueResult();
    // crit.addOrder(Order.desc("id"));
    // List list = crit.list();
    // SystemInfo systemInfo = null;
    // if (list.size() > 0) {
    // systemInfo = (SystemInfo) list.get(0);
    // }
    HibernateLazyInitializer.init(systemInfo);
    return systemInfo;
}
 
@Override
public Runner getRunnerByName(String name) {
    final Criteria crit = sessionService.getSession().createCriteria(Runner.class);
    crit.add(Property.forName(NAME).eq(name));
    Runner runner = ( Runner ) crit.uniqueResult();
    HibernateLazyInitializer.init(runner);
    return runner;
}