List of usage examples for org.hibernate.criterion Projections count
public static CountProjection count(String propertyName)
From source file:ar.com.zauber.commons.repository.aggregate.ProjectionAggregateFunctionVisitor.java
License:Apache License
/** crea projecciones en base a {@link PropertyAggregateFunction}. */ private static Projection createPropertyProjection(final PropertyAggregateFunction paf) { final String propertyName = paf.getProperty(); final Projection projection; if (paf instanceof AveragePropertyAggregateFunction) { projection = Projections.avg(propertyName); } else if (paf instanceof CountDistinctPropertyAggregateFunction) { projection = Projections.countDistinct(propertyName); } else if (paf instanceof CountPropertyAggregateFunction) { projection = Projections.count(propertyName); } else if (paf instanceof MaxPropertyAggregateFunction) { projection = Projections.max(propertyName); } else if (paf instanceof MinPropertyAggregateFunction) { projection = Projections.min(propertyName); } else if (paf instanceof SumPropertyAggregateFunction) { projection = Projections.sum(propertyName); } else if (paf instanceof GroupPropertyAggregateFilter) { projection = Projections.groupProperty(propertyName); } else {//from w w w . j a va 2 s . c o m throw new IllegalArgumentException("don't know how to process " + paf.getClass()); } return projection; }
From source file:au.edu.uts.eng.remotelabs.schedserver.dataaccess.dao.ResourcePermissionDao.java
License:Open Source License
@Override public void delete(ResourcePermission perm) { /* We need to delete any user locks of this permission. */ int num = (Integer) this.session.createCriteria(UserLock.class) .add(Restrictions.eq("resourcePermission", perm)).setProjection(Projections.count("id")) .uniqueResult();/*from w w w . j a va 2 s. c o m*/ if (num > 0) { /* Delete all user locks. */ this.logger.debug("To delete resource permission '" + perm.getId() + "', " + num + " user locks have to" + " removed."); this.session.beginTransaction(); int numDeleted = this.session.createQuery("delete UserLock ul where ul.resourcePermission = :perm") .setEntity("perm", perm).executeUpdate(); this.logger.debug("Deleted " + numDeleted + " user locks when deleting resource permission '" + perm.getId() + "'."); this.session.getTransaction().commit(); } /* Null out the sessions which use this resource permission. */ num = (Integer) this.session .createCriteria(au.edu.uts.eng.remotelabs.schedserver.dataaccess.entities.Session.class) .add(Restrictions.eq("resourcePermission", perm)).setProjection(Projections.count("id")) .uniqueResult(); if (num > 0) { this.logger.debug("To delete resource permission '" + perm.getId() + "', " + num + " sessions need the " + "resource permission nulled."); this.session.beginTransaction(); int numDeleted = this.session.createQuery("update Session ses set ses.resourcePermission = null " + "where ses.resourcePermission = :perm").setEntity("perm", perm).executeUpdate(); this.logger.debug("Updated " + numDeleted + " session records when deleting resource permission '" + perm.getId() + "'."); this.session.getTransaction().commit(); } /* Null out the bookings which use this resource permission. */ num = (Integer) this.session.createCriteria(Bookings.class).add(Restrictions.eq("resourcePermission", perm)) .setProjection(Projections.count("id")).uniqueResult(); if (num > 0) { this.logger.debug("To delete resource permission '" + perm.getId() + "', " + num + " bookings need to " + "be deleted."); this.session.beginTransaction(); int numDeleted = this.session.createQuery("delete Bookings bk where bk.resourcePermission = :perm") .setEntity("perm", perm).executeUpdate(); this.logger.debug("Updated " + numDeleted + " bookings records when deleting resource permission '" + perm.getId() + "'."); this.session.getTransaction().commit(); } /* Finally delete the permission. */ super.delete(perm); }
From source file:au.edu.uts.eng.remotelabs.schedserver.dataaccess.dao.UserClassDao.java
License:Open Source License
/** * Deletes all the user associations that contain the specified user class. * /*from w w w . ja v a2 s . com*/ * @param uc user class whose associations to delete */ public void deleteUserAssociations(UserClass uc) { int num = (Integer) this.session.createCriteria(UserAssociation.class).add(Restrictions.eq("userClass", uc)) .setProjection(Projections.count("user")).uniqueResult(); if (num > 0) { /* Delete all user associations. */ this.logger.debug("To delete user class '" + uc.getName() + "', " + num + " user associations have to" + " removed."); this.session.beginTransaction(); int numDeleted = this.session.createQuery("delete UserAssociation ua where ua.userClass = :userclass") .setEntity("userclass", uc).executeUpdate(); this.logger.info("Deleted " + numDeleted + " user associations when deleting user class '" + uc.getName() + "'."); this.session.getTransaction().commit(); } }
From source file:au.edu.uts.eng.remotelabs.schedserver.dataaccess.dao.UserClassKeyDao.java
License:Open Source License
@Override public void delete(UserClassKey key) { this.logger.info("Deleting user class key '" + key.getRedeemKey() + "'."); /* Delete all constraints. */ if (key.getConstraints().size() > 0) { this.session.beginTransaction(); for (UserClassKeyConstraint constraint : key.getConstraints()) { this.session.delete(constraint); }//from w w w .ja va 2 s .c om this.session.getTransaction().commit(); } /* As there are potentially a large number of redepemtions, a DML * operation is used. */ int num = (Integer) this.session.createCriteria(UserClassKeyRedemption.class) .add(Restrictions.eq("classKey", key)).setProjection(Projections.count("id")).uniqueResult(); if (num > 0) { /* Delete all redemptions. */ this.logger.debug("To delete user class key '" + key.getRedeemKey() + "', " + num + " redemptions have to" + " deleted."); this.session.beginTransaction(); int numDeleted = this.session.createQuery( "delete " + UserClassKeyRedemption.class.getSimpleName() + " uk where uk.classKey = :key") .setEntity("key", key).executeUpdate(); this.logger.info("Deleted " + numDeleted + " redemptions when deleting user class key '" + key.getRedeemKey() + "'."); this.session.getTransaction().commit(); } super.delete(key); }
From source file:au.org.theark.lims.model.dao.BiospecimenDao.java
License:Open Source License
public boolean studyHasBiospecimens(Study study) { Criteria criteria = getSession().createCriteria(Biospecimen.class); criteria.add(Restrictions.eq("study", study)); criteria.setProjection(Projections.count("id")); Long count = (Long) criteria.uniqueResult(); return count > 0; }
From source file:au.org.theark.lims.model.dao.InventoryDao.java
License:Open Source License
public boolean boxesExist() { Criteria criteria = getSession().createCriteria(InvBox.class); criteria.setProjection(Projections.count("id")); Long count = (Long) criteria.uniqueResult(); return count > 0L; }
From source file:au.org.theark.lims.model.dao.InventoryDao.java
License:Open Source License
public boolean hasAllocatedCells(InvBox invBox) { Criteria criteria = getSession().createCriteria(InvCell.class); criteria.add(Restrictions.eq("invBox", invBox)); criteria.add(Restrictions.isNotNull("biospecimen")); criteria.setProjection(Projections.count("id")); Long count = (Long) criteria.uniqueResult(); return count > 0L; }
From source file:au.org.theark.study.model.dao.StudyDao.java
License:Open Source License
public long getRelationshipCount(final String subjectUID, final Long studyId) { long count = 0; Criteria criteria = getSession().createCriteria(LinkSubjectPedigree.class, "lsp"); criteria.createAlias("subject", "sub", JoinType.INNER_JOIN); criteria.createAlias("relative", "rel", JoinType.INNER_JOIN); criteria.createAlias("sub.study", "substudy", JoinType.INNER_JOIN); criteria.createAlias("rel.study", "relstudy", JoinType.INNER_JOIN); criteria.add(Restrictions.eq("substudy.id", studyId)); criteria.add(Restrictions.eq("relstudy.id", studyId)); Disjunction or = Restrictions.disjunction(); or.add(Restrictions.eq("sub.subjectUID", subjectUID)); or.add(Restrictions.eq("rel.subjectUID", subjectUID)); criteria.add(or);/* w ww. ja v a2 s . co m*/ ProjectionList projList = Projections.projectionList(); projList.add(Projections.count("lsp.id")); criteria.setProjection(projList); List list = criteria.list(); if (list.size() > 0) { count = Integer.parseInt(list.get(0).toString()); } return count; }
From source file:br.com.muranodesign.dao.impl.ObjetivoDAOImpl.java
License:Creative Commons License
public long listarRoteiroTotal(int id) { Criteria criteria = getSession().createCriteria(Objetivo.class); criteria.createAlias("roteiro", "roteiro"); criteria.add(Restrictions.eq("roteiro.idroteiro", id)); criteria.add(Restrictions.eq("roteiro.ativo", 1)); criteria.setProjection(Projections.count("ativo")); long result = (Long) criteria.list().get(0); return result; }
From source file:br.com.muranodesign.dao.impl.ObjetivoDAOImpl.java
License:Creative Commons License
public long listarGrafico(int id) { Criteria criteria = getSession().createCriteria(Objetivo.class); criteria.add(Restrictions.eq("ativo", 1)); criteria.createAlias("roteiro", "roteiro"); criteria.add(Restrictions.eq("roteiro.ativo", 1)); criteria.add(Restrictions.eq("roteiro.anoEstudo.idanoEstudo", id)); criteria.setProjection(Projections.count("ativo")); long result = (Long) criteria.list().get(0); return result; }