List of usage examples for org.hibernate.criterion DetachedCriteria setResultTransformer
public DetachedCriteria setResultTransformer(ResultTransformer resultTransformer)
From source file:ch.systemsx.cisd.openbis.generic.server.dataaccess.db.EntityTypeDAO.java
License:Apache License
public final <T extends EntityTypePE> List<T> listEntityTypes() throws DataAccessException { final DetachedCriteria criteria = DetachedCriteria.forClass(getEntityClass()); criteria.add(Restrictions.eq("databaseInstance", getDatabaseInstance())); final String entityKindName = entityKind.name().toLowerCase(); criteria.setFetchMode(entityKindName + "TypePropertyTypesInternal", FetchMode.JOIN); criteria.setResultTransformer(DetachedCriteria.DISTINCT_ROOT_ENTITY); final List<T> list = cast(getHibernateTemplate().findByCriteria(criteria)); return list;/* w w w. j a v a 2s . c om*/ }
From source file:ch.systemsx.cisd.openbis.generic.server.dataaccess.db.ExperimentDAO.java
License:Apache License
public List<ExperimentPE> listExperimentsWithProperties(final ExperimentTypePE experimentTypeOrNull, final ProjectPE project) throws DataAccessException { assert project != null : "Unspecified project."; final DetachedCriteria criteria = DetachedCriteria.forClass(getEntityClass()); if (experimentTypeOrNull != null) { criteria.add(Restrictions.eq("experimentType", experimentTypeOrNull)); }/* www . j a va2s.co m*/ criteria.add(Restrictions.eq("projectInternal", project)); criteria.setFetchMode("experimentProperties", FetchMode.JOIN); criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); final List<ExperimentPE> list = cast(getHibernateTemplate().findByCriteria(criteria)); if (operationLog.isDebugEnabled()) { operationLog.debug(String.format("%d experiments have been found for project '%s'%s.", list.size(), project, (experimentTypeOrNull == null) ? "" : " and experiment type '" + experimentTypeOrNull + "'")); } return list; }
From source file:ch.systemsx.cisd.openbis.generic.server.dataaccess.db.ExternalDataDAO.java
License:Apache License
public ExternalDataPE tryToFindFullDataSetByCode(String dataSetCode, boolean withPropertyTypes) { assert dataSetCode != null : "Unspecified data set code"; final String mangledCode = CodeConverter.tryToDatabase(dataSetCode); final Criterion codeEq = Restrictions.eq("code", mangledCode); final DetachedCriteria criteria = DetachedCriteria.forClass(ENTITY_CLASS); criteria.add(codeEq);//w ww . j a v a 2 s .co m if (withPropertyTypes) { criteria.setFetchMode("dataSetType.dataSetTypePropertyTypesInternal", FetchMode.JOIN); } criteria.setResultTransformer(DetachedCriteria.DISTINCT_ROOT_ENTITY); final List<ExternalDataPE> list = cast(getHibernateTemplate().findByCriteria(criteria)); final ExternalDataPE entity = tryFindEntity(list, "data set"); if (operationLog.isDebugEnabled()) { operationLog .debug(String.format("External data '%s' found for data set code '%s'.", entity, dataSetCode)); } return entity; }
From source file:ch.systemsx.cisd.openbis.generic.server.dataaccess.db.SampleTypeDAO.java
License:Apache License
public final List<SampleTypePE> listSampleTypes() throws DataAccessException { final DetachedCriteria criteria = DetachedCriteria.forClass(getEntityClass()); criteria.add(Restrictions.eq("databaseInstance", getDatabaseInstance())); criteria.setFetchMode("sampleTypePropertyTypesInternal", FetchMode.JOIN); criteria.setResultTransformer(DetachedCriteria.DISTINCT_ROOT_ENTITY); final List<SampleTypePE> list = cast(getHibernateTemplate().findByCriteria(criteria)); if (operationLog.isDebugEnabled()) { operationLog.debug(String.format("%s: %d sample type(s) have been found.", MethodUtils.getCurrentMethod().getName(), list.size())); }/*from ww w. j a v a 2s .c o m*/ return list; }
From source file:com.allinfinance.commquery.dao.CommQueryDAO.java
License:Open Source License
/** * /*from w w w .j a va2 s. c om*/ * * @param currentPage * @param clazz * @return */ public List<Object> getListByPage(int currentPage, DetachedCriteria detachedCriteria) { int pageSize = 100; // ??,?select * from xxx... detachedCriteria.setProjection(null); detachedCriteria.setResultTransformer(DetachedCriteria.ROOT_ENTITY); int firstResult = currentPage * pageSize; int maxResults = pageSize; List<Object> rows = this.getHibernateTemplate().findByCriteria(detachedCriteria, firstResult, maxResults); return rows; }
From source file:com.benfante.minimark.blo.QuestionBo.java
License:Apache License
/** * Search questions by example.//ww w .ja va2s .c o m * * @param questionBean The values for searching questions. * @return The list of questions matching the questionBean values. */ public List<Question> search(QuestionBean questionBean) { DetachedCriteria crit = null; if (StringUtils.isBlank(questionBean.getType())) { crit = DetachedCriteria.forClass(Question.class); } else { if ("open".equals(questionBean.getType())) { crit = DetachedCriteria.forClass(OpenQuestion.class); if (StringUtils.isNotBlank(questionBean.getVisualization())) { crit.add(Restrictions.eq("visualization", questionBean.getVisualization())); } } else if ("closed".equals(questionBean.getType())) { crit = DetachedCriteria.forClass(ClosedQuestion.class); } else { throw new IllegalArgumentException("Unknown question type (" + questionBean.getType() + ")"); } } if (StringUtils.isNotBlank(questionBean.getTitle())) { crit.add(Restrictions.ilike("title", questionBean.getTitle(), MatchMode.ANYWHERE)); } if (questionBean.getWeight() != null) { crit.add(Restrictions.eq("weight", questionBean.getWeight())); } if (questionBean.getCourse() != null && questionBean.getCourse().getId() != null) { crit.add(Restrictions.eq("course.id", questionBean.getCourse().getId())); } crit.addOrder(Order.asc("title")); crit.addOrder(Order.asc("content")); if (StringUtils.isNotBlank(questionBean.getTags())) { crit.createAlias("tags", "tags"); crit.createAlias("tags.tag", "tag"); crit.add(Restrictions.in("tag.name", questionBean.getTagList())); } crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); return questionDao.searchByCriteria(crit); }
From source file:com.ephesoft.dcma.da.dao.hibernate.BatchClassDaoImpl.java
License:Open Source License
/** * This API will fetch all the batch classes of current user role. * /*from ww w. ja v a 2 s . co m*/ * @param userRoles Set<String> * @return List<BatchClass> */ @Override public List<BatchClass> getAllBatchClassesByUserRoles(final Set<String> userRoles) { DetachedCriteria criteria = criteria(); List<BatchClass> batchClassList = null; if (userRoles == null) { batchClassList = new ArrayList<BatchClass>(); } else { List<String> roleList = new ArrayList<String>(); for (String userRole : userRoles) { if (null == userRole || userRole.isEmpty()) { continue; } roleList.add(userRole); } criteria.createAlias(ASSIGNED_GROUPS, ASSIGNED_GROUPS); criteria.add(Restrictions.in(ASSIGNED_GROUPS_NAME, roleList)); criteria.add(Restrictions.or(Restrictions.isNull(IS_DELETED), Restrictions.eq(IS_DELETED, false))); criteria.addOrder(org.hibernate.criterion.Order.asc(BATCH_ID)); criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); batchClassList = find(criteria); } return batchClassList; }
From source file:com.ephesoft.dcma.da.dao.hibernate.BatchClassDaoImpl.java
License:Open Source License
/** * API to the batch class with respect to the given batch class id and the roles provided. * /*from ww w.j a v a 2s .c o m*/ * @param userRoles {@link Set<{@link String}>} * @param batchClassID {@link String} * @return {@link BatchClass} */ @Override public BatchClass getBatchClassByUserRoles(final Set<String> userRoles, String batchClassID) { DetachedCriteria criteria = criteria(); List<BatchClass> batchClassList = null; BatchClass batchClass = null; if (userRoles == null) { batchClassList = new ArrayList<BatchClass>(); } else { List<String> roleList = new ArrayList<String>(); for (String userRole : userRoles) { if (null == userRole || userRole.isEmpty()) { continue; } roleList.add(userRole); } criteria.createAlias(ASSIGNED_GROUPS, ASSIGNED_GROUPS); criteria.add(Restrictions.in(ASSIGNED_GROUPS_NAME, roleList)); criteria.add(Restrictions.eq(IDENTIFIER, batchClassID)); criteria.add(Restrictions.or(Restrictions.isNull(IS_DELETED), Restrictions.eq(IS_DELETED, false))); criteria.addOrder(org.hibernate.criterion.Order.asc(BATCH_ID)); criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); batchClassList = find(criteria); if (batchClassList != null && !batchClassList.isEmpty()) { batchClass = batchClassList.get(0); } } return batchClass; }
From source file:com.ephesoft.dcma.da.dao.hibernate.FieldTypeDaoImpl.java
License:Open Source License
/** * An API to fetch all Field types by document type name. * /*from w ww . java 2s. c o m*/ * @param docTypeName String * @param batchInstanceIdentifier String * @param isKVExtraction boolean * @return List<FieldType> */ @Override public List<FieldType> getFdTypeByDocumentTypeName(String docTypeName, String batchInstanceIdentifier, boolean isKVExtraction) { LOG.info("batchInstanceID ID : " + batchInstanceIdentifier); DetachedCriteria criteria = criteria(); criteria.createAlias(DOC_TYPE, DOC_TYPE, JoinFragment.INNER_JOIN); criteria.add(Restrictions.eq(DOC_TYPE_NAME, docTypeName)); criteria.createAlias(DOC_TYPE_BATCH_CLASS, BATCH_CLASS1, JoinFragment.INNER_JOIN); if (isKVExtraction) { criteria.setFetchMode("kvExtraction", FetchMode.JOIN); criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); } DetachedCriteria subQuery = criteria(BatchInstance.class); subQuery.add(Restrictions.eq(IDENTIFIER, batchInstanceIdentifier)); subQuery.createAlias(BATCH_CLASS, BATCH_CLASS2, JoinFragment.INNER_JOIN); subQuery.setProjection(Projections.property(BATCH_CLASS2_IDENTIFIER)); criteria.add(Subqueries.propertyEq(BATCH_CLASS1_IDENTIFIER, subQuery)); criteria.addOrder(org.hibernate.criterion.Order.asc(FIELD_ORDER_NUMBER)); return find(criteria); }
From source file:com.ephesoft.dcma.da.dao.hibernate.FieldTypeDaoImpl.java
License:Open Source License
/** * An API to fetch all Field types by document type name. * /* w w w.ja v a 2s .c o m*/ * @param docTypeName String * @param batchInstanceIdentifier String * @return List<FieldType> */ @Override public List<FieldType> getFdTypeAndRegexValidationByDocTypeName(String docTypeName, String batchInstanceIdentifier) { LOG.info("batchInstanceID ID : " + batchInstanceIdentifier); DetachedCriteria criteria = criteria(); criteria.createAlias(DOC_TYPE, DOC_TYPE, JoinFragment.INNER_JOIN); criteria.add(Restrictions.eq(DOC_TYPE_NAME, docTypeName)); criteria.createAlias(DOC_TYPE_BATCH_CLASS, BATCH_CLASS1, JoinFragment.INNER_JOIN); criteria.setFetchMode(REGEX_VALIDATION, FetchMode.JOIN); criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); DetachedCriteria subQuery = criteria(BatchInstance.class); subQuery.add(Restrictions.eq(IDENTIFIER, batchInstanceIdentifier)); subQuery.createAlias(BATCH_CLASS, BATCH_CLASS2, JoinFragment.INNER_JOIN); subQuery.setProjection(Projections.property(BATCH_CLASS2_IDENTIFIER)); criteria.add(Subqueries.propertyEq(BATCH_CLASS1_IDENTIFIER, subQuery)); criteria.addOrder(org.hibernate.criterion.Order.asc(FIELD_ORDER_NUMBER)); return find(criteria); }