List of usage examples for org.hibernate.criterion ProjectionList add
public ProjectionList add(Projection projection)
From source file:org.jasig.ssp.dao.EarlyAlertResponseDao.java
License:Apache License
private ProjectionList getPersonProjection() { ProjectionList projections = Projections.projectionList(); projections.add(Projections.groupProperty("person.firstName").as("ea_outcome_firstName")); projections.add(Projections.groupProperty("person.middleName").as("ea_outcome_middleName")); projections.add(Projections.groupProperty("person.lastName").as("ea_outcome_lastName")); projections/*from w w w .j a v a 2s.c o m*/ .add(Projections.groupProperty("person.primaryEmailAddress").as("ea_outcome_primaryEmailAddress")); projections.add(Projections.groupProperty("person.schoolId").as("ea_outcome_schoolId")); projections.add(Projections.groupProperty("coach.firstName").as("ea_outcome_coachFirstName")); projections.add(Projections.groupProperty("coach.middleName").as("ea_outcome_coachMiddleName")); projections.add(Projections.groupProperty("coach.lastName").as("ea_outcome_coachLastName")); return projections; }
From source file:org.jasig.ssp.dao.EarlyAlertResponseDao.java
License:Apache License
private ProjectionList addBasicStudentProperties(ProjectionList projections, Criteria criteria) { criteria.createAlias("person.specialServiceGroups", "personSpecialServiceGroups", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("person.programStatuses", "personProgramStatuses", JoinType.LEFT_OUTER_JOIN); projections.add(Projections.groupProperty("person.firstName").as("early_alert_response_firstName")); projections.add(Projections.groupProperty("person.middleName").as("early_alert_response_middleName")); projections.add(Projections.groupProperty("person.lastName").as("early_alert_response_lastName")); projections.add(Projections.groupProperty("person.schoolId").as("early_alert_response_schoolId")); projections.add(Projections.groupProperty("person.primaryEmailAddress") .as("early_alert_response_primaryEmailAddress")); projections.add(Projections.groupProperty("person.secondaryEmailAddress") .as("early_alert_response_secondaryEmailAddress")); projections.add(Projections.groupProperty("person.cellPhone").as("early_alert_response_cellPhone")); projections.add(Projections.groupProperty("person.homePhone").as("early_alert_response_homePhone")); projections.add(Projections.groupProperty("person.addressLine1").as("early_alert_response_addressLine1")); projections.add(Projections.groupProperty("person.addressLine2").as("early_alert_response_addressLine2")); projections.add(Projections.groupProperty("person.city").as("early_alert_response_city")); projections.add(Projections.groupProperty("person.state").as("early_alert_response_state")); projections.add(Projections.groupProperty("person.zipCode").as("early_alert_response_zipCode")); projections.add(Projections.groupProperty("person.id").as("early_alert_response_id")); criteria.createAlias("personSpecialServiceGroups.specialServiceGroup", "specialServiceGroup", JoinType.LEFT_OUTER_JOIN);/*from w ww . ja v a 2s . co m*/ projections.add(Projections.groupProperty("personSpecialServiceGroups.objectStatus") .as("early_alert_response_specialServiceGroupAssocObjectStatus")); projections.add(Projections.groupProperty("specialServiceGroup.name") .as("early_alert_response_specialServiceGroupName")); projections.add(Projections.groupProperty("specialServiceGroup.id") .as("early_alert_response_specialServiceGroupId")); criteria.createAlias("personProgramStatuses.programStatus", "programStatus", JoinType.LEFT_OUTER_JOIN); projections .add(Projections.groupProperty("programStatus.name").as("early_alert_response_programStatusName")); projections.add( Projections.groupProperty("personProgramStatuses.id").as("early_alert_response_programStatusId")); projections.add(Projections.groupProperty("personProgramStatuses.expirationDate") .as("early_alert_response_programStatusExpirationDate")); // Join to Student Type criteria.createAlias("person.studentType", "studentType", JoinType.LEFT_OUTER_JOIN); // add StudentTypeName Column projections.add(Projections.groupProperty("studentType.name").as("early_alert_response_studentTypeName")); projections.add(Projections.groupProperty("studentType.code").as("early_alert_response_studentTypeCode")); Dialect dialect = ((SessionFactoryImplementor) sessionFactory).getDialect(); if (dialect instanceof SQLServerDialect) { // sql server requires all these to part of the grouping //projections.add(Projections.groupProperty("coach.id").as("coachId")); projections.add(Projections.groupProperty("coach.lastName").as("early_alert_response_coachLastName")) .add(Projections.groupProperty("coach.firstName").as("early_alert_response_coachFirstName")) .add(Projections.groupProperty("coach.middleName").as("early_alert_response_coachMiddleName")) .add(Projections.groupProperty("coach.schoolId").as("early_alert_response_coachSchoolId")) .add(Projections.groupProperty("coach.username").as("early_alert_response_coachUsername")); } else { // other dbs (postgres) don't need these in the grouping //projections.add(Projections.property("coach.id").as("coachId")); projections.add(Projections.groupProperty("coach.lastName").as("early_alert_response_coachLastName")) .add(Projections.groupProperty("coach.firstName").as("early_alert_response_coachFirstName")) .add(Projections.groupProperty("coach.middleName").as("early_alert_response_coachMiddleName")) .add(Projections.groupProperty("coach.schoolId").as("early_alert_response_coachSchoolId")) .add(Projections.groupProperty("coach.username").as("early_alert_response_coachUsername")); } return projections; }
From source file:org.jasig.ssp.dao.JournalEntryDao.java
License:Apache License
@SuppressWarnings("unchecked") public PagingWrapper<JournalStepStudentReportTO> getJournalStepStudentReportTOsFromCriteria( JournalStepSearchFormTO personSearchForm, SortingAndPaging sAndP) { final Criteria criteria = createCriteria(sAndP); setPersonCriteria(criteria, personSearchForm); if (personSearchForm.getCreateDateFrom() != null) { criteria.add(Restrictions.ge("createdDate", personSearchForm.getCreateDateFrom())); }/*from w w w .j a va 2 s. co m*/ if (personSearchForm.getCreateDateTo() != null) { criteria.add(Restrictions.le("createdDate", personSearchForm.getCreateDateTo())); } if (personSearchForm.getGetStepDetails()) { JoinType joinType = JoinType.INNER_JOIN; criteria.createAlias("journalEntryDetails", "journalEntryDetails", joinType); criteria.createAlias("journalEntryDetails.journalStepJournalStepDetail", "journalStepJournalStepDetail", joinType); criteria.createAlias("journalStepJournalStepDetail.journalStepDetail", "journalStepDetail", joinType); if (personSearchForm.getJournalStepDetailIds() != null && !personSearchForm.getJournalStepDetailIds().isEmpty()) { criteria.add(Restrictions.in("journalStepDetail.id", personSearchForm.getJournalStepDetailIds())); criteria.add(Restrictions.eq("journalEntryDetails.objectStatus", sAndP.getStatus())); criteria.add(Restrictions.eq("journalStepJournalStepDetail.objectStatus", sAndP.getStatus())); } } else { criteria.createAlias("journalEntryDetails", "journalEntryDetails", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("journalEntryDetails.journalStepJournalStepDetail", "journalStepJournalStepDetail", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("journalStepJournalStepDetail.journalStepDetail", "journalStepDetail", JoinType.LEFT_OUTER_JOIN); if (personSearchForm.getJournalStepDetailIds() != null && !personSearchForm.getJournalStepDetailIds().isEmpty()) { Criterion isNotIds = Restrictions .not(Restrictions.in("journalStepDetail.id", personSearchForm.getJournalStepDetailIds())); Criterion isNull = Restrictions.isNull("journalStepDetail.id"); criteria.add(Restrictions.or(isNotIds, isNull)); } else { criteria.add(Restrictions.isNull("journalStepDetail.id")); } } ProjectionList projections = Projections.projectionList(); projections.add(Projections.distinct( Projections.groupProperty("journalEntryDetails.id").as("journalentry_journalEntryDetailId"))); addBasicStudentProperties(projections, criteria); projections .add(Projections.groupProperty("journalStepDetail.name").as("journalentry_journalStepDetailName")); criteria.setProjection(projections); criteria.setResultTransformer( new NamespacedAliasToBeanResultTransformer(JournalStepStudentReportTO.class, "journalentry_")); if (criteria.list().size() > 1) { List<JournalStepStudentReportTO> reports = criteria.list(); Map<UUID, JournalStepStudentReportTO> cleanReports = new HashMap<UUID, JournalStepStudentReportTO>(); for (JournalStepStudentReportTO report : reports) { if (!cleanReports.containsKey(report.getJournalEntryDetailId())) { cleanReports.put(report.getJournalEntryDetailId(), report); } } List<JournalStepStudentReportTO> sortReports = Lists.newArrayList(cleanReports.values()); Collections.sort(sortReports, new Comparator<JournalStepStudentReportTO>() { public int compare(JournalStepStudentReportTO o1, JournalStepStudentReportTO o2) { JournalStepStudentReportTO p1 = (JournalStepStudentReportTO) o1; JournalStepStudentReportTO p2 = (JournalStepStudentReportTO) o2; int value = p1.getLastName().compareToIgnoreCase(p2.getLastName()); if (value != 0) return value; value = p1.getFirstName().compareToIgnoreCase(p2.getFirstName()); if (value != 0) return value; if (p1.getMiddleName() == null && p2.getMiddleName() == null) return 0; if (p1.getMiddleName() == null) return -1; if (p2.getMiddleName() == null) return 1; return p1.getMiddleName().compareToIgnoreCase(p2.getMiddleName()); } }); return new PagingWrapper<JournalStepStudentReportTO>(sortReports.size(), sortReports); } return new PagingWrapper<JournalStepStudentReportTO>(criteria.list().size(), (List<JournalStepStudentReportTO>) criteria.list()); }
From source file:org.jasig.ssp.dao.JournalEntryDao.java
License:Apache License
private ProjectionList addBasicStudentProperties(ProjectionList projections, Criteria criteria) { criteria.createAlias("person.staffDetails", "personStaffDetails", JoinType.LEFT_OUTER_JOIN); projections.add(Projections.groupProperty("person.firstName").as("journalentry_firstName")); projections.add(Projections.groupProperty("person.middleName").as("journalentry_middleName")); projections.add(Projections.groupProperty("person.lastName").as("journalentry_lastName")); projections.add(Projections.groupProperty("person.schoolId").as("journalentry_schoolId")); projections.add(// www .ja v a2 s .c om Projections.groupProperty("person.primaryEmailAddress").as("journalentry_primaryEmailAddress")); projections.add( Projections.groupProperty("person.secondaryEmailAddress").as("journalentry_secondaryEmailAddress")); projections.add(Projections.groupProperty("person.cellPhone").as("journalentry_cellPhone")); projections.add(Projections.groupProperty("person.homePhone").as("journalentry_homePhone")); projections.add(Projections.groupProperty("person.addressLine1").as("journalentry_addressLine1")); projections.add(Projections.groupProperty("person.addressLine2").as("journalentry_addressLine2")); projections.add(Projections.groupProperty("person.city").as("journalentry_city")); projections.add(Projections.groupProperty("person.state").as("journalentry_state")); projections.add(Projections.groupProperty("person.zipCode").as("journalentry_zipCode")); projections.add(Projections.groupProperty("person.id").as("journalentry_id")); criteria.createAlias("personSpecialServiceGroups.specialServiceGroup", "specialServiceGroup", JoinType.LEFT_OUTER_JOIN); projections.add(Projections.groupProperty("personSpecialServiceGroups.objectStatus") .as("journalentry_specialServiceGroupAssocObjectStatus")); criteria.createAlias("personProgramStatuses.programStatus", "programStatus", JoinType.LEFT_OUTER_JOIN); projections .add(Projections.groupProperty("specialServiceGroup.id").as("journalentry_specialServiceGroupId")); projections.add( Projections.groupProperty("specialServiceGroup.name").as("journalentry_specialServiceGroupName")); projections.add(Projections.groupProperty("programStatus.name").as("journalentry_programStatusName")); projections.add(Projections.groupProperty("personProgramStatuses.id").as("journalentry_programStatusId")); projections.add(Projections.groupProperty("personProgramStatuses.expirationDate") .as("journalentry_programStatusExpirationDate")); // Join to Student Type criteria.createAlias("person.studentType", "studentType", JoinType.LEFT_OUTER_JOIN); // add StudentTypeName Column projections.add(Projections.groupProperty("studentType.name").as("journalentry_studentTypeName")); projections.add(Projections.groupProperty("studentType.code").as("journalentry_studentTypeCode")); Dialect dialect = ((SessionFactoryImplementor) sessionFactory).getDialect(); if (dialect instanceof SQLServerDialect) { // sql server requires all these to part of the grouping //projections.add(Projections.groupProperty("coach.id").as("coachId")); projections.add(Projections.groupProperty("coach.lastName").as("journalentry_coachLastName")) .add(Projections.groupProperty("coach.firstName").as("journalentry_coachFirstName")) .add(Projections.groupProperty("coach.middleName").as("journalentry_coachMiddleName")) .add(Projections.groupProperty("coach.schoolId").as("journalentry_coachSchoolId")) .add(Projections.groupProperty("coach.username").as("journalentry_coachUsername")); } else { // other dbs (postgres) don't need these in the grouping //projections.add(Projections.property("coach.id").as("coachId")); projections.add(Projections.groupProperty("coach.lastName").as("journalentry_coachLastName")) .add(Projections.groupProperty("coach.firstName").as("journalentry_coachFirstName")) .add(Projections.groupProperty("coach.middleName").as("journalentry_coachMiddleName")) .add(Projections.groupProperty("coach.schoolId").as("journalentry_coachSchoolId")) .add(Projections.groupProperty("coach.username").as("journalentry_coachUsername")); } return projections; }
From source file:org.jasig.ssp.dao.PersonDao.java
License:Apache License
public PagingWrapper<Person> getAllAssignedCoaches(SortingAndPaging sAndP) { DetachedCriteria coach_ids = DetachedCriteria.forClass(Person.class, "coach_ids"); final ProjectionList projections = Projections.projectionList(); projections.add(Projections.distinct(Projections.property("coach.id"))); coach_ids.setProjection(projections); coach_ids.add(Restrictions.isNotNull("coach")); Criteria criteria = createCriteria().add(Subqueries.propertiesIn(new String[] { "id" }, coach_ids)); if (sAndP != null && sAndP.isFilteredByStatus()) { sAndP.addStatusFilterToCriteria(criteria); }/*w w w . j a va 2s . c om*/ // item count Long totalRows = 0L; if ((sAndP != null) && sAndP.isPaged()) { totalRows = (Long) criteria.setProjection(Projections.rowCount()).uniqueResult(); } criteria.setProjection(null); if (sAndP == null || !(sAndP.isSorted())) { criteria.addOrder(Order.asc("lastName")).addOrder(Order.asc("firstName")); } else { if (sAndP.isSorted()) { sAndP.addSortingToCriteria(criteria); } sAndP.addPagingToCriteria(criteria); } return new PagingWrapper<Person>(totalRows, criteria.list()); }
From source file:org.jasig.ssp.dao.PersonDao.java
License:Apache License
public PagingWrapper<CoachPersonLiteTO> getAllAssignedCoachesLite(SortingAndPaging sAndP, String homeDepartment) {// www. jav a 2s . c o m DetachedCriteria coach_ids = DetachedCriteria.forClass(Person.class, "coach_ids"); final ProjectionList projections = Projections.projectionList(); projections.add(Projections.distinct(Projections.property("coach.id"))); coach_ids.setProjection(projections); coach_ids.add(Restrictions.isNotNull("coach")); Criteria criteria = createCriteria().add(Subqueries.propertiesIn(new String[] { "id" }, coach_ids)); if (sAndP != null && sAndP.isFilteredByStatus()) { sAndP.addStatusFilterToCriteria(criteria); } if (homeDepartment != null && homeDepartment.length() >= 0) { criteria.createAlias("staffDetails", "personStaffDetails"); criteria.add(Restrictions.eq("personStaffDetails.departmentName", homeDepartment)); } else { criteria.createAlias("staffDetails", "personStaffDetails", JoinType.LEFT_OUTER_JOIN); } // item count Long totalRows = 0L; if ((sAndP != null) && sAndP.isPaged()) { totalRows = (Long) criteria.setProjection(Projections.rowCount()).uniqueResult(); } criteria.setProjection(null); criteria.setProjection(Projections.projectionList().add(Projections.property("id").as("person_id")) .add(Projections.property("firstName").as("person_firstName")) .add(Projections.property("lastName").as("person_lastName")) .add(Projections.property("primaryEmailAddress").as("person_primaryEmailAddress")) .add(Projections.property("workPhone").as("person_workPhone")) .add(Projections.property("personStaffDetails.departmentName").as("person_departmentName"))) .setResultTransformer( new NamespacedAliasToBeanResultTransformer(CoachPersonLiteTO.class, "person_")); return new PagingWrapper<CoachPersonLiteTO>(totalRows, criteria.list()); }
From source file:org.jasig.ssp.dao.PersonDao.java
License:Apache License
@SuppressWarnings("unchecked") public PagingWrapper<DisabilityServicesReportTO> getDisabilityReport(PersonSearchFormTO form, final SortingAndPaging sAndP) throws ObjectNotFoundException { List<UUID> ids = getStudentUUIDs(form); if (ids.size() == 0) return null; BatchProcessor<UUID, DisabilityServicesReportTO> processor = new BatchProcessor<UUID, DisabilityServicesReportTO>( ids, sAndP);//from ww w. j a va 2 s.c o m do { final Criteria criteria = createCriteria(); // don't bring back any non-students, there will likely be a better way // to do this later final ProjectionList projections = Projections.projectionList(); criteria.setProjection(projections); addBasicStudentProperties(projections, criteria, sAndP.getStatus()); Criteria demographics = criteria.createAlias("demographics", "demographics", JoinType.LEFT_OUTER_JOIN); demographics.createAlias("demographics.ethnicity", "ethnicity", JoinType.LEFT_OUTER_JOIN); demographics.createAlias("demographics.race", "race", JoinType.LEFT_OUTER_JOIN); demographics.createAlias("demographics.veteranStatus", "veteranStatus", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("disabilityAgencies", "disabilityAgencies", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("disabilityAgencies.disabilityAgency", "disabilityAgency", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("disabilityTypes", "personDisabilityTypes", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("personDisabilityTypes.disabilityType", "disabilityType", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("disability", "personDisability"); criteria.createAlias("personDisability.disabilityStatus", "disabilityStatus", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("educationGoal", "educationGoal", JoinType.LEFT_OUTER_JOIN); Dialect dialect = ((SessionFactoryImplementor) sessionFactory).getDialect(); if (dialect instanceof SQLServerDialect) { projections.add(Projections.groupProperty("ethnicity.name").as("ethnicity")); projections.add(Projections.groupProperty("race.name").as("race")); projections.add(Projections.groupProperty("veteranStatus.name").as("veteranStatus")); projections.add(Projections.groupProperty("disabilityAgency.name").as("disabilityAgencyName")); projections.add(Projections.groupProperty("disabilityType.name").as("disabilityType")); projections.add(Projections.groupProperty("disabilityAgency.createdDate") .as("disabilityAgencyCreatedDate")); projections.add(Projections.groupProperty("educationGoal.plannedMajor").as("major")); projections.add(Projections.groupProperty("disabilityStatus.name").as("odsStatus")); projections .add(Projections.groupProperty("personDisability.createdDate").as("odsRegistrationDate")); projections .add(Projections.groupProperty("personDisability.noDocumentation").as("noDocumentation")); projections.add(Projections.groupProperty("personDisability.inadequateDocumentation") .as("inadequateDocumentation")); projections.add(Projections.groupProperty("personDisability.noDisability").as("noDisability")); projections.add(Projections.groupProperty("personDisability.noSpecialEd").as("noSpecialEd")); } else { projections.add(Projections.groupProperty("ethnicity.name").as("ethnicity")); projections.add(Projections.groupProperty("race.name").as("race")); projections.add(Projections.groupProperty("veteranStatus.name").as("veteranStatus")); projections.add(Projections.groupProperty("disabilityType.name").as("disabilityType")); projections.add(Projections.groupProperty("disabilityAgency.name").as("disabilityAgencyName")); projections.add(Projections.groupProperty("disabilityAgency.createdDate") .as("disabilityAgencyCreatedDate")); projections.add(Projections.groupProperty("educationGoal.plannedMajor").as("major")); projections.add(Projections.groupProperty("disabilityStatus.name").as("odsStatus")); projections .add(Projections.groupProperty("personDisability.createdDate").as("odsRegistrationDate")); projections .add(Projections.groupProperty("personDisability.noDocumentation").as("noDocumentation")); projections.add(Projections.groupProperty("personDisability.inadequateDocumentation") .as("inadequateDocumentation")); projections.add(Projections.groupProperty("personDisability.noDisability").as("noDisability")); projections.add(Projections.groupProperty("personDisability.noSpecialEd").as("noSpecialEd")); } criteria.setResultTransformer(new AliasToBeanResultTransformer(DisabilityServicesReportTO.class)); processor.process(criteria, "id"); } while (processor.moreToProcess()); return new PagingWrapper<DisabilityServicesReportTO>(ids.size(), processor.getSortedAndPagedResultsAsList()); }
From source file:org.jasig.ssp.dao.PersonDao.java
License:Apache License
private ProjectionList addBasicStudentProperties(ProjectionList projections, Criteria criteria, ObjectStatus status) {/*w w w . ja v a 2 s. c om*/ projections.add(Projections.groupProperty("firstName").as("firstName")); projections.add(Projections.groupProperty("middleName").as("middleName")); projections.add(Projections.groupProperty("lastName").as("lastName")); projections.add(Projections.groupProperty("schoolId").as("schoolId")); projections.add(Projections.groupProperty("primaryEmailAddress").as("primaryEmailAddress")); projections.add(Projections.groupProperty("secondaryEmailAddress").as("secondaryEmailAddress")); projections.add(Projections.groupProperty("cellPhone").as("cellPhone")); projections.add(Projections.groupProperty("homePhone").as("homePhone")); projections.add(Projections.groupProperty("addressLine1").as("addressLine1")); projections.add(Projections.groupProperty("addressLine2").as("addressLine2")); projections.add(Projections.groupProperty("city").as("city")); projections.add(Projections.groupProperty("state").as("state")); projections.add(Projections.groupProperty("zipCode").as("zipCode")); projections.add(Projections.groupProperty("actualStartTerm").as("actualStartTerm")); projections.add(Projections.groupProperty("actualStartYear").as("actualStartYear")); projections.add(Projections.groupProperty("id").as("id")); criteria.createAlias("programStatuses", "personProgramStatuses", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("specialServiceGroups", "personSpecialServiceGroups", JoinType.LEFT_OUTER_JOIN); criteria.createAlias("personSpecialServiceGroups.specialServiceGroup", "specialServiceGroup", JoinType.LEFT_OUTER_JOIN); projections.add(Projections.groupProperty("specialServiceGroup.id").as("specialServiceGroupId")); projections.add(Projections.groupProperty("specialServiceGroup.name").as("specialServiceGroupName")); projections.add(Projections.groupProperty("personSpecialServiceGroups.objectStatus") .as("specialServiceGroupAssocObjectStatus")); criteria.createAlias("personProgramStatuses.programStatus", "programStatus", JoinType.LEFT_OUTER_JOIN); projections.add(Projections.groupProperty("programStatus.name").as("programStatusName")); projections.add(Projections.groupProperty("programStatus.id").as("programStatusId")); projections.add(Projections.groupProperty("personProgramStatuses.expirationDate") .as("programStatusExpirationDate")); // Join to Student Type criteria.createAlias("studentType", "studentType", JoinType.LEFT_OUTER_JOIN); // add StudentTypeName Column projections.add(Projections.groupProperty("studentType.name").as("studentTypeName")); projections.add(Projections.groupProperty("studentType.code").as("studentTypeCode")); criteria.createAlias("coach", "c"); criteria.createAlias("watchers", "watcher", JoinType.LEFT_OUTER_JOIN); Dialect dialect = ((SessionFactoryImplementor) sessionFactory).getDialect(); if (dialect instanceof SQLServerDialect) { // sql server requires all these to part of the grouping //projections.add(Projections.groupProperty("c.id").as("coachId")); projections.add(Projections.groupProperty("c.lastName").as("coachLastName")) .add(Projections.groupProperty("c.firstName").as("coachFirstName")) .add(Projections.groupProperty("c.middleName").as("coachMiddleName")) .add(Projections.groupProperty("c.schoolId").as("coachSchoolId")) .add(Projections.groupProperty("c.username").as("coachUsername")); } else { // other dbs (postgres) don't need these in the grouping //projections.add(Projections.property("c.id").as("coachId")); projections.add(Projections.groupProperty("c.lastName").as("coachLastName")) .add(Projections.groupProperty("c.firstName").as("coachFirstName")) .add(Projections.groupProperty("c.middleName").as("coachMiddleName")) .add(Projections.groupProperty("c.schoolId").as("coachSchoolId")) .add(Projections.groupProperty("c.username").as("coachUsername")); } return projections; }
From source file:org.jasig.ssp.dao.report.DisabilityServiceReportDao.java
License:Apache License
private ProjectionList addBasicStudentProperties(ProjectionList projections, Criteria criteria) { projections.add(Projections.property("id").as("personId")); projections.add(Projections.property("firstName").as("firstName")); projections.add(Projections.property("middleName").as("middleName")); projections.add(Projections.property("lastName").as("lastName")); projections.add(Projections.property("schoolId").as("schoolId")); projections.add(Projections.property("primaryEmailAddress").as("primaryEmailAddress")); projections.add(Projections.property("secondaryEmailAddress").as("secondaryEmailAddress")); // Join to Student Type criteria.createAlias("studentType", "studentType", JoinType.LEFT_OUTER_JOIN); // add StudentTypeName Column projections.add(Projections.property("studentType.name").as("studentType")); Dialect dialect = ((SessionFactoryImplementor) sessionFactory).getDialect(); if (dialect instanceof SQLServerDialect) { // sql server requires all these to part of the grouping projections.add(Projections.groupProperty("c.lastName").as("coachLastName")) .add(Projections.groupProperty("c.firstName").as("coachFirstName")) .add(Projections.groupProperty("c.middleName").as("coachMiddleName")) .add(Projections.groupProperty("c.schoolId").as("coachSchoolId")) .add(Projections.groupProperty("c.username").as("coachUsername")); } else {/*from w w w . j a v a 2 s . c o m*/ // other dbs (postgres) don't need these in the grouping projections.add(Projections.property("c.lastName").as("coachLastName")) .add(Projections.property("c.firstName").as("coachFirstName")) .add(Projections.property("c.middleName").as("coachMiddleName")) .add(Projections.property("c.schoolId").as("coachSchoolId")) .add(Projections.property("c.username").as("coachUsername")); } return projections; }
From source file:org.LexGrid.LexBIG.caCore.dao.orm.translators.GridCQLToDetachedCriteria.java
License:Open Source License
private DetachedCriteria handleQueryOptions(DetachedCriteria criteria, QueryModifier modifiers) { if (modifiers == null) { return criteria; }//from www . j a v a 2 s. c om ProjectionList projectionList = Projections.projectionList(); String[] projectionProperties = modifiers.getAttributeNames(); if (projectionProperties != null) { for (String prop : projectionProperties) { projectionList.add(Projections.property(prop)); } } String distinctAttribute = modifiers.getDistinctAttribute(); if (distinctAttribute != null) { projectionList.add(Projections.distinct(Projections.property(distinctAttribute))); } boolean isCount = modifiers.isCountOnly(); if (isCount) { projectionList.add(Projections.rowCount()); } //Only add the Projection List if it was populated with something. if (projectionList.getLength() > 0) { criteria.setProjection(projectionList); } return criteria; }