List of usage examples for org.hibernate.criterion Subqueries propertyNotIn
public static Criterion propertyNotIn(String propertyName, DetachedCriteria dc)
From source file:com.orig.gls.group.dao.Group.java
public static ArrayList getAllVerifiedGroups() { ArrayList arr = new ArrayList(); Session session = HibernateUtil.getSessionFactory().openSession(); Transaction tx = null;/*from w w w. j a v a 2s . c om*/ List<GroupsTable> list; try { tx = session.beginTransaction(); DetachedCriteria subquery = DetachedCriteria.forClass(GroupsTableMod.class); subquery.setProjection(Projections.property("groupId")); Criteria cr = session.createCriteria(GroupsTable.class); cr.add(Subqueries.propertyNotIn("groupId", subquery)); list = cr.list(); for (GroupsTable group : list) { ArrayList one = new ArrayList(); one.add(group.getGroupCode()); one.add(String.valueOf(group.getGroupId())); one.add(group.getGroupName()); one.add(sdf.format(group.getRcreTime())); one.add(group.getRcreUserId()); one.add(String.valueOf(group.getSolId()));//5 one.add(group.getBranchName());//6 one.add(group.getGrpMgrId());//7 one.add(group.getGrpRegNo());//8 one.add(sdf.format(group.getFormationDate()));//9 one.add(group.getGpRegion());//10 one.add(group.getGroupCenter());//11 one.add(group.getGroupVillage());//12 one.add(group.getGroupAddress());//13 one.add(group.getGroupPhone());//14 one.add(sdf.format(group.getFirstMeetDate()));//15 one.add(sdf.format(group.getNxtMeetDate()));//16 one.add(group.getMeetTime());//17 one.add(group.getMeetPlace());//18 one.add(String.valueOf(group.getMaxAllowedMembers()));//19 one.add(String.valueOf(group.getMaxAllowedSubGrps()));//20 String groupchair = ""; String grouptre = ""; String groupsec = ""; if (group.getGpChair() != null) { groupchair = group.getGpChair(); } if (group.getGpTreasurer() != null) { grouptre = group.getGpTreasurer(); } if (group.getGpSecretary() != null) { groupsec = group.getGpSecretary(); } one.add(groupchair);//21 one.add(grouptre);//22 one.add(groupsec);//23 one.add(group.getGpStatus());//24 one.add(group.getGpStatusCode());//25 one.add(String.valueOf(group.getNoOfMembers()));//26 one.add(group.getMeetFrequency());//27 one.add(String.valueOf(group.getSavingAccounts()));//28 one.add(String.valueOf(group.getSavingsAmt()));//29 one.add(String.valueOf(group.getLoanAccounts()));//30 one.add(String.valueOf(group.getOutstandingBal()));//31 arr.add(one); } tx.commit(); } catch (Exception asd) { log.debug(asd.getMessage()); if (tx != null) { tx.rollback(); } } finally { session.close(); } return arr; }
From source file:com.orig.gls.subgroup.dao.SubGroup.java
public static ArrayList getAllVerifiedSubGroups() { ArrayList arr = new ArrayList(); Session session = HibernateUtil.getSessionFactory().openSession(); Transaction tx = null;/*from w ww. ja v a2 s. co m*/ List<SubGrpTable> list; try { tx = session.beginTransaction(); DetachedCriteria subquery = DetachedCriteria.forClass(SubGrpTableMod.class); subquery.setProjection(Projections.property("subGroupId")); Criteria cr = session.createCriteria(SubGrpTable.class); cr.add(Subqueries.propertyNotIn("subGroupId", subquery)); list = cr.list(); for (SubGrpTable group : list) { ArrayList one = new ArrayList(); one.add(group.getSubGroupCode()); one.add(String.valueOf(group.getSubGroupId())); one.add(group.getSubGroupName()); one.add(sdf.format(group.getRcreTime())); one.add(group.getRcreUserId()); one.add(String.valueOf(group.getSolId()));//5 one.add(group.getBranchName());//6 one.add(group.getSubGrpMgrId());//7 one.add(group.getSubGrpRegNo());//8 one.add(sdf.format(group.getFormationDate()));//9 one.add(group.getSubGpRegion());//10 one.add(group.getSubGroupCenter());//11 one.add(group.getSubGroupVillage());//12 one.add(group.getSubGroupAddress());//13 one.add(group.getSubGroupPhone());//14 one.add(sdf.format(group.getFirstMeetDate()));//15 one.add(sdf.format(group.getNxtMeetDate()));//16 one.add(group.getMeetTime());//17 one.add(group.getMeetPlace());//18 one.add(String.valueOf(group.getMaxAllowedMembers()));//19 String groupchair = ""; String grouptre = ""; String groupsec = ""; if (group.getSubGpChair() != null) { groupchair = group.getSubGpChair(); } if (group.getSubGpTreasurer() != null) { grouptre = group.getSubGpTreasurer(); } if (group.getSubGpSecretary() != null) { groupsec = group.getSubGpSecretary(); } one.add(groupchair);//21 one.add(grouptre);//22 one.add(groupsec);//23 one.add(group.getSubGpStatus());//24 one.add(group.getSubGpStatusCode());//25 one.add(String.valueOf(group.getNoOfMembers()));//26 one.add(group.getMeetFrequency());//27 one.add(String.valueOf(group.getSavingAccounts()));//28 one.add(String.valueOf(group.getSavingsAmt()));//29 one.add(String.valueOf(group.getLoanAccounts()));//30 one.add(String.valueOf(group.getOutstandingBal()));//31 List<GroupsTable> lgs = Group.getgroupDetails(group.getGroupId()); String groupcode = ""; String groupname = ""; for (GroupsTable lg : lgs) { groupcode = lg.getGroupCode(); groupname = lg.getGroupName(); } one.add(groupcode); one.add(groupname); arr.add(one); } tx.commit(); } catch (Exception asd) { log.debug(asd.getMessage()); if (tx != null) { tx.rollback(); } } finally { session.close(); } return arr; }
From source file:com.qcadoo.model.api.search.SearchSubqueries.java
License:Open Source License
/** * Creates criterion which checks if given field's value exists in given subquery. * //from w w w. j a v a2 s.c o m * @param field * field * @param criteria * subcriteria * @return criteria */ public static SearchCriterion fieldIn(final String field, final SearchCriteriaBuilder criteria) { return new SearchCriterionImpl( Subqueries.propertyNotIn(field, ((SearchCriteria) criteria).getHibernateDetachedCriteria())); }
From source file:com.qcadoo.model.api.search.SearchSubqueries.java
License:Open Source License
/** * Creates criterion which checks if given field's value doesn't exist in given subquery. * /*from w w w . j av a2 s.c o m*/ * @param field * field * @param criteria * subcriteria * @return criteria */ public static SearchCriterion fieldNotIn(final String field, final SearchCriteriaBuilder criteria) { return new SearchCriterionImpl( Subqueries.propertyNotIn(field, ((SearchCriteria) criteria).getHibernateDetachedCriteria())); }
From source file:com.tysanclan.site.projectewok.entities.dao.hibernate.InactivityNotificationDAOImpl.java
License:Open Source License
@Override public List<Long> getUnnotifiedInactiveUsers() { Criteria criteria = getSession().createCriteria(User.class); DetachedCriteria dc = DetachedCriteria.forClass(InactivityNotification.class); dc.setProjection(Projections.property("user")); criteria.add(Subqueries.propertyNotIn("id", dc)); Disjunction d = Restrictions.disjunction(); d.add(getTrialMemberInactivityCriterion()); d.add(getVacationMemberInactivityCriterion()); d.add(getRetiredMemberInactivityCriterion()); d.add(getRegularMemberInactivityCriterion()); criteria.add(d);/*from w ww.ja va 2 s . co m*/ criteria.setProjection(Projections.property("id")); List<Long> ids = listOf(criteria); return ids; }
From source file:de.iteratec.iteraplan.businesslogic.reports.query.node.AttributeLeafNode.java
License:Open Source License
/** * Creates the {@link DetachedCriteria} for the {@link Comparator#NO_ASSIGNMENT} comparator. * // www.j av a 2 s. c om * @param criteria the criteria to add the restrictions for * @param criterion the additional criterion, can be {@code null} * @return the {@link DetachedCriteria} for the {@link Comparator#NO_ASSIGNMENT} comparator */ protected DetachedCriteria createNoAssignmentCriteria(DetachedCriteria criteria, Criterion criterion) { final DetachedCriteria numberAvs = DetachedCriteria.forClass(getAttributeValueClass(), "numberAV"); numberAvs.createAlias("numberAV.attributeValueAssignments", "avas"); numberAvs.add(Restrictions.eq("attributeType.id", Integer.valueOf(getAttributeId()))); numberAvs.setProjection(Property.forName("avas.buildingBlock")); if (criterion != null) { numberAvs.add(criterion); } final String bbId = String.format("%s.%s", getResultTypeDBNameShortWithSuffix(), "id"); criteria.add(Subqueries.propertyNotIn(bbId, numberAvs)); return criteria; }
From source file:org.candlepin.model.CertificateSerialCurator.java
License:Open Source License
@SuppressWarnings("rawtypes") private Criterion getRevokedCriteria() { Conjunction crit = Restrictions.conjunction(); for (Class clazz : CERTCLASSES) { DetachedCriteria certSerialQuery = DetachedCriteria.forClass(clazz).createCriteria("serial") .setProjection(Projections.property("id")); crit.add(Subqueries.propertyNotIn("id", certSerialQuery)); }/* w w w.j a v a2 s . c o m*/ return crit; }
From source file:org.egov.pims.commons.service.PositionService.java
License:Open Source License
/** * gives vacant positions for given date range and designation * @param fromDate/*from ww w .jav a2 s.c om*/ * @param toDate * @param designationMasterId * @return */ public Criteria getVacantPositionCriteria(Date fromDate, Date toDate, Integer designationMasterId) { DetachedCriteria detachAssignmentPrd = DetachedCriteria.forClass(Assignment.class, "assignment"); detachAssignmentPrd .add(Restrictions.and(Restrictions.le("assignment.fromDate", fromDate), Restrictions.or(Restrictions.ge("assignment.toDate", toDate), Restrictions.isNull("assignment.toDate")))) .setProjection(Projections.property("assignment.id")); DetachedCriteria detachAssignment = DetachedCriteria.forClass(Assignment.class, "assignment"); detachAssignment.add(Subqueries.propertyIn("assignment.id", detachAssignmentPrd)); detachAssignment.add(Restrictions.eq("assignment.isPrimary", 'Y')); detachAssignment.setProjection(Projections.distinct(Projections.property("assignment.position.id"))); Criteria criteria = getCurrentSession().createCriteria(Position.class, "position"); if (designationMasterId != null && !designationMasterId.equals("0")) { criteria.add(Restrictions.eq("position.deptDesig.designation.id", designationMasterId)); } criteria.add(Subqueries.propertyNotIn("position.id", detachAssignment)); criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); criteria.addOrder(Order.asc("position.name")); return criteria; }
From source file:org.geoserver.taskmanager.data.impl.TaskManagerDaoImpl.java
License:Open Source License
@SuppressWarnings("unchecked") @Override/*from w w w. j a va2 s. c om*/ public List<Task> getTasksAvailableForBatch(Batch batch) { DetachedCriteria alreadyInBatch = DetachedCriteria.forClass(BatchElementImpl.class) .createAlias("batch", "batch").createAlias("task", "task") .add(Restrictions.eq("batch.id", batch.getId())).add(Restrictions.eq("removeStamp", 0L)) .setProjection(Projections.property("task.id")); Criteria criteria = getSession().createCriteria(TaskImpl.class) .createAlias("configuration", "configuration").add(Restrictions.eq("removeStamp", 0L)) .add(Restrictions.eq("configuration.removeStamp", 0L)) .add(Subqueries.propertyNotIn("id", alreadyInBatch)); if (batch.getConfiguration() == null) { criteria.add(Restrictions.eq("configuration.template", false)); } else { criteria.add(Restrictions.eq("configuration.id", batch.getConfiguration().getId())); } return (List<Task>) criteria.list(); }
From source file:org.openmrs.module.labtrackingapp.api.db.hibernate.HibernateLabTrackingAppDAO.java
License:Open Source License
public List<Order> getActiveOrders(long startDate, long endDate, String patientUuid, String patientName, int status, int maxResults) { Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Order.class, "ord"); criteria.createAlias("encounter", "enc"); criteria.createAlias("ord.patient", "pat"); criteria.createAlias("ord.orderType", "orderType"); criteria.add(Restrictions.eq("orderType.uuid", LabTrackingConstants.LAB_TRACKING_TESTORDER_TYPE_UUID)); if (LabTrackingConstants.LabTrackingOrderStatus.CANCELED.getId() == status) { criteria.add(Restrictions.eq("ord.voided", Boolean.TRUE)); } else if (LabTrackingConstants.LabTrackingOrderStatus.ALL.getId() != status) { criteria.add(Restrictions.eq("ord.voided", Boolean.FALSE)); } else {//from w w w .java 2s . c o m //for all other all, just return all voided or not } if (startDate > 0) { Calendar c = Calendar.getInstance(); c.setTimeInMillis(startDate); criteria.add(Restrictions.ge("enc.encounterDatetime", c.getTime())); } if (endDate > 0) { Calendar c = Calendar.getInstance(); c.setTimeInMillis(endDate); criteria.add(Restrictions.le("enc.encounterDatetime", c.getTime())); } if (patientUuid != null && patientUuid.length() > 0) { criteria.add(Restrictions.eq("pat.uuid", patientUuid)); } if (patientName != null && patientName.length() > 0) { criteria.createAlias("patient.names", "pname"); criteria.createAlias("patient.identifiers", "pids"); final String query = new StringBuilder().append("%").append(patientName).append("%").toString(); DetachedCriteria samples = getSamplesSubQuery(); //find orders where // an obs with the assendion number // is part of an encounter that has an order number // that equals the order's order number criteria.add(Restrictions.or(Subqueries.propertyIn("orderNumber", getAccessionNumberSubQuery(query)), Restrictions.or(Restrictions.like("pids.identifier", query), Restrictions.or(Restrictions.like("pname.givenName", query), Restrictions.like("pname.familyName", query))))); } if (LabTrackingConstants.LabTrackingOrderStatus.REQUESTED.getId() == status) { //this is all orders that have been requested but without any samples or results DetachedCriteria samples = getSamplesSubQuery(); criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY) .add(Subqueries.propertyNotIn("orderNumber", samples)); } else if (LabTrackingConstants.LabTrackingOrderStatus.SAMPLED.getId() == status) { // all orders that have a samples encounter and no results DetachedCriteria resultsObs = getResultsSubQuery(); DetachedCriteria samples = getSamplesSubQuery().add(Subqueries.propertyNotIn("enc.id", resultsObs)); criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY) .add(Subqueries.propertyIn("orderNumber", samples)); } else if (LabTrackingConstants.LabTrackingOrderStatus.RESULTS.getId() == status) { // all orders that have a results encounter DetachedCriteria resultsObs = getResultsSubQuery(); DetachedCriteria samples = getSamplesSubQuery().add(Subqueries.propertyIn("enc.id", resultsObs)); criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY) .add(Subqueries.propertyIn("orderNumber", samples)); } else if (LabTrackingConstants.LabTrackingOrderStatus.CANCELED.getId() == status) { // all orders that have a results note or file and are canceled or just are canceled DetachedCriteria resultsWithFileOrNotes = getResultsWithFileOrNotesSubQuery(); DetachedCriteria samplesWithNoNotesOrFile = getSamplesSubQuery() .add(Subqueries.propertyNotIn("enc.id", resultsWithFileOrNotes)); DetachedCriteria samples = getSamplesSubQuery(); //we need to query for onces that don't have file/notes OR ones that don't have a sample at all criteria.add(Restrictions.or(Subqueries.propertyIn("orderNumber", samplesWithNoNotesOrFile), Subqueries.propertyNotIn("orderNumber", samples))); } else if (LabTrackingConstants.LabTrackingOrderStatus.ALL.getId() == status) { //for all we don't want to include canceled DetachedCriteria resultsWithFileOrNotes = getResultsWithFileOrNotesSubQuery(); DetachedCriteria samplesWithNotesOrFile = getSamplesSubQuery() .add(Subqueries.propertyIn("enc.id", resultsWithFileOrNotes)); criteria.add(Restrictions.or(Restrictions.eq("ord.voided", Boolean.FALSE), Restrictions.and(Restrictions.eq("ord.voided", Boolean.TRUE), Subqueries.propertyIn("orderNumber", samplesWithNotesOrFile)))); } criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); criteria.addOrder(org.hibernate.criterion.Order.desc("enc.encounterDatetime")); if (maxResults > 0) { criteria.setMaxResults(maxResults); } List<Order> orders = criteria.list(); // // if (LabTrackingConstants.LabTrackingOrderStatus.ALL.getId() == status) { // debug(orders); // } return orders; }