Example usage for org.hibernate.criterion Restrictions idEq

List of usage examples for org.hibernate.criterion Restrictions idEq

Introduction

In this page you can find the example usage for org.hibernate.criterion Restrictions idEq.

Prototype

public static Criterion idEq(Object value) 

Source Link

Document

Apply an "equal" constraint to the identifier property

Usage

From source file:net.startbahn.web.app.WorksAction.java

public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest req,
        HttpServletResponse res) throws Exception {

    Session session = new HibernateSession().currentSession(this.getServlet().getServletContext());

    Vector vector = new Vector();
    Criteria criteria = session.createCriteria(Work.class);

    if (StringUtils.isNotBlank(req.getParameter("artist"))) {
        Criteria criteria2 = session.createCriteria(Artist.class);
        criteria2.add(Restrictions.idEq(Integer.valueOf(req.getParameter("artist"))));
        Artist artist = (Artist) criteria2.uniqueResult();
        criteria.add(Restrictions.eq("artist", artist));
    }/*from   ww w.j a v a2s .  c o m*/

    if (StringUtils.isNotBlank(req.getParameter("client"))) {
        if (req.getParameter("client").equals("true")) {
            criteria.add(Restrictions.eq("client", true));
        } else {
            criteria.add(Restrictions.eq("client", false));
        }
    }

    if (StringUtils.isNotBlank(req.getParameter("licensed"))) {
        if (req.getParameter("licensed").equals("true")) {
            criteria.add(Restrictions.eq("licensed", true));
        } else {
            criteria.add(Restrictions.eq("licensed", false));
        }
    }

    if (StringUtils.isNotBlank(req.getParameter("licensingpossibleafterexpired"))) {
        if (req.getParameter("licensingpossibleafterexpired").equals("true")) {
            criteria.add(Restrictions.eq("licensingpossibleafterexpired", true));
        } else {
            criteria.add(Restrictions.eq("licensingpossibleafterexpired", false));
        }
    }

    if (StringUtils.isNotBlank(req.getParameter("updatedatestartdate"))
            && StringUtils.isNotBlank(req.getParameter("updatedateenddate"))) {
        Date startDate = (new SimpleDateFormat("yyyy/MM/dd")).parse(req.getParameter("updatedatestartdate"));
        Date endDate = (new SimpleDateFormat("yyyy/MM/dd")).parse(req.getParameter("updatedateenddate"));
        criteria.add(Restrictions.between("date", startDate, endDate));
    }

    if (StringUtils.isNotBlank(req.getParameter("productiondatestartdate"))
            && StringUtils.isNotBlank(req.getParameter("productiondateenddate"))) {
        Date startDate = (new SimpleDateFormat("yyyy/MM/dd"))
                .parse(req.getParameter("productiondatestartdate"));
        Date endDate = (new SimpleDateFormat("yyyy/MM/dd")).parse(req.getParameter("productiondateenddate"));
        criteria.add(Restrictions.between("date", startDate, endDate));
    }

    if (StringUtils.isNotBlank(req.getParameter("datestartdate"))
            && StringUtils.isNotBlank(req.getParameter("dateenddate"))) {
        Date startDate = (new SimpleDateFormat("yyyy/MM/dd")).parse(req.getParameter("datestartdate"));
        Date endDate = (new SimpleDateFormat("yyyy/MM/dd")).parse(req.getParameter("dateenddate"));
        criteria.add(Restrictions.between("date", startDate, endDate));
    }

    req.setAttribute("works", criteria.list());

    //      for (Iterator iter = criteria.list().iterator(); iter.hasNext();) {
    //         Work work = (Work) iter.next();
    //         vector.add(work);
    //      }
    Work work = new WorkImpl();
    WorkForm workform = new WorkForm();
    criteria = session.createCriteria(Work.class);

    if (req.getAttribute("form") == null && req.getParameter("id") != null) {
        criteria.add(Restrictions.idEq(Integer.valueOf(req.getParameter("id"))));
        work = (Work) criteria.uniqueResult();
        new CopyProperties(work, workform);
    } else if (req.getAttribute("form") != null) {
        workform = (WorkForm) req.getAttribute("form");
        criteria.add(Restrictions.idEq(workform.getId()));
        work = (Work) criteria.uniqueResult();
    }

    req.setAttribute("model", work);
    req.setAttribute("form", workform);

    Criteria criteriaArtist = session.createCriteria(Artist.class);
    req.setAttribute("Artists", criteriaArtist.list());

    if (req.getParameter("displayexport") != null) {
        return mapping.findForward("displayexport");
    }

    return mapping.findForward("success");
}

From source file:org.andromda.timetracker.domain.TimecardDaoImpl.java

/**
 * @see TimecardDao#findByCriteria(TimecardSearchCriteriaVO)
 *//*from ww  w .j ava2  s  . c  o m*/
@Override
protected List handleFindByCriteria(TimecardSearchCriteriaVO criteria) {
    // Create the timecard criteria
    Criteria timecardCriteria = this.hibernateSession.createCriteria(Timecard.class);
    timecardCriteria.setFetchMode("submitter", FetchMode.JOIN);
    timecardCriteria.setFetchMode("approver", FetchMode.JOIN);

    // Add submitter criteria
    if (criteria.getSubmitterId() != null) {
        timecardCriteria.createCriteria("submitter").add(Restrictions.idEq(criteria.getSubmitterId()));
    }

    // Add approver criteria
    if (criteria.getApproverId() != null) {
        timecardCriteria.createCriteria("approver").add(Restrictions.idEq(criteria.getApproverId()));
    }

    // Add status criteria
    if (criteria.getStatus() != null) {
        timecardCriteria.add(Restrictions.eq("status", criteria.getStatus()));
    }

    // Add startDateMin criteria
    if (criteria.getStartDateMin() != null) {
        timecardCriteria.add(Restrictions.ge("startDate", criteria.getStartDateMin()));
    }

    // Add startDateMax criteria
    if (criteria.getStartDateMax() != null) {
        timecardCriteria.add(Restrictions.le("startDate", criteria.getStartDateMax()));
    }

    List timecards = timecardCriteria.list();
    if (this.logger.isDebugEnabled()) {
        this.logger.debug(timecards.size() + " timecards found");
    }
    return timecards;
}

From source file:org.archiviststoolkit.mydomain.DomainAccessObjectImpl.java

License:Open Source License

/**
 * Find an instance by its identifier.//w w w.jav  a2s .c o m
 *
 * @param identifier the identifier we are looking for
 * @return the domain object with the required identifier
 * @throws LookupException fails if we cannot execute the lookup
 */

public DomainObject findByPrimaryKeyCommon(final Long identifier, Session session) throws LookupException {

    DomainObject domainObject;

    try {

        //         try {
        if (getPersistentClass() == Names.class) {
            Criteria criteria = session.createCriteria(Names.class);
            criteria.setFetchMode("contactNotes", FetchMode.JOIN);
            criteria.setFetchMode("nonPreferredNames", FetchMode.JOIN);
            criteria.setFetchMode("archDescriptionNames", FetchMode.JOIN);
            criteria.add(Restrictions.idEq(identifier));
            domainObject = (DomainObject) criteria.uniqueResult();

        } else if (getPersistentClass() == Accessions.class) {
            Criteria criteria = session.createCriteria(Accessions.class);
            criteria.setFetchMode("names", FetchMode.JOIN);
            criteria.setFetchMode("repeatingData", FetchMode.JOIN);
            criteria.setFetchMode("resources", FetchMode.JOIN);
            criteria.setFetchMode("subjects", FetchMode.JOIN);
            criteria.setFetchMode("locations", FetchMode.JOIN);
            criteria.setFetchMode("deaccessions", FetchMode.JOIN);
            criteria.add(Restrictions.idEq(identifier));
            domainObject = (DomainObject) criteria.uniqueResult();

        } else if (getPersistentClass() == Subjects.class) {
            Criteria criteria = session.createCriteria(Subjects.class);
            criteria.setFetchMode("archDescriptionSubjects", FetchMode.JOIN);
            criteria.add(Restrictions.idEq(identifier));
            domainObject = (DomainObject) criteria.uniqueResult();

        } else if (getPersistentClass() == Resources.class) {
            Criteria criteria = session.createCriteria(Resources.class);
            criteria.setFetchMode("names", FetchMode.JOIN);
            criteria.setFetchMode("accessions", FetchMode.JOIN);
            criteria.setFetchMode("subjects", FetchMode.JOIN);
            //               criteria.setFetchMode("repeatingData", FetchMode.JOIN);
            //               criteria.setFetchMode("instances", FetchMode.JOIN);
            //               criteria.setFetchMode("resourcesComponents", FetchMode.JOIN);
            criteria.add(Restrictions.idEq(identifier));
            domainObject = (DomainObject) criteria.uniqueResult();

        } else if (getPersistentClass() == ResourcesComponents.class) {
            Criteria criteria = session.createCriteria(ResourcesComponents.class);
            criteria.setFetchMode("names", FetchMode.JOIN);
            criteria.setFetchMode("instances", FetchMode.JOIN);
            criteria.setFetchMode("subjects", FetchMode.JOIN);
            criteria.setFetchMode("repeatingData", FetchMode.JOIN);
            criteria.add(Restrictions.idEq(identifier));
            domainObject = (DomainObject) criteria.uniqueResult();

        } else if (getPersistentClass() == Locations.class) {
            Criteria criteria = session.createCriteria(Locations.class);
            criteria.setFetchMode("repository", FetchMode.JOIN);
            criteria.add(Restrictions.idEq(identifier));
            domainObject = (DomainObject) criteria.uniqueResult();

        } else if (getPersistentClass() == DigitalObjects.class) {
            Criteria criteria = session.createCriteria(DigitalObjects.class);
            //               criteria.setFetchMode("names", FetchMode.JOIN);
            //               criteria.setFetchMode("repeatingData", FetchMode.JOIN);
            //               criteria.setFetchMode("subjects", FetchMode.JOIN);
            //               criteria.setFetchMode("fileVersions", FetchMode.JOIN);
            criteria.add(Restrictions.idEq(identifier));
            domainObject = (DomainObject) criteria.uniqueResult();

        } else {
            domainObject = (DomainObject) session.load(getPersistentClass(), identifier);
        }

        //         } catch (ObjectNotFoundException objectNotFoundException) {
        //            new ErrorDialog("", StringHelper.getStackTrace(e)).showDialog();
        //            domainObject = null;
        //            logger.log(Level.INFO, "Object could not be found by key " + identifier);
        //         }

        session.flush();
        session.connection().commit();

    } catch (ObjectNotFoundException objectNotFoundException) {
        throw new LookupException("failed to findbyprimarykey: " + objectNotFoundException.toString(),
                objectNotFoundException);
    } catch (HibernateException hibernateException) {
        throw new LookupException("failed to findbyprimarykey: " + hibernateException.toString(),
                hibernateException);
    } catch (SQLException sqlException) {
        throw new LookupException("failed to findbyprimarykey: " + sqlException.toString(), sqlException);
    }

    return (domainObject);
}

From source file:org.archiviststoolkit.plugin.dbdialog.RemoteDBConnectDialogLight.java

/**
 * Method to return the resource in a long session
 *
 * @param identifier//from   www.  jav  a  2s  .c  om
 * @return
 */
public Resources getResource(Long identifier) {
    Transaction tx = null;
    Resources resource = null;

    try {
        tx = session.beginTransaction();
        Criteria criteria = session.createCriteria(Resources.class);
        criteria.setFetchMode("names", FetchMode.JOIN);
        criteria.setFetchMode("accessions", FetchMode.JOIN);
        criteria.setFetchMode("subjects", FetchMode.JOIN);
        criteria.add(Restrictions.idEq(identifier));
        resource = (Resources) criteria.uniqueResult();
        session.setReadOnly(resource, true);
        tx.commit();
    } catch (RuntimeException ex) {
        try {
            tx.rollback();
        } catch (HibernateException e) {
            e.printStackTrace();
        }
    }

    return resource;
}

From source file:org.archiviststoolkit.plugin.dbdialog.RemoteDBConnectDialogLight.java

/**
 * Method to return a domain object from the database
 *
 * @param clazz//ww w.j  a v  a2 s .c  om
 * @param key
 * @return
 */
public DomainObject getRecord(Class clazz, Long key) {
    Transaction tx = null;
    DomainObject record = null;

    try {
        tx = session.beginTransaction();
        Criteria criteria = session.createCriteria(clazz);
        criteria.add(Restrictions.idEq(key));
        record = (DomainObject) criteria.uniqueResult();
        tx.commit();
    } catch (RuntimeException ex) {
        try {
            tx.rollback();
        } catch (HibernateException e) {
            e.printStackTrace();
        }
    }

    return record;
}

From source file:org.babyfish.hibernate.collection.spi.persistence.SetBasePersistence.java

License:Open Source License

/**
 * This method is used to replace /*from  w  w w  .  j  a  va  2  s  . c om*/
 * "org.hibernate.collection.AbstractPersistentCollection#readElementExistence(Object element)"
 * @param element The example element to be read
 * @return The ref or readed element
 * <ul>
 *  <li>NonNull: Read successfully, check the value of ref to check the read value is null or not</li>
 *  <li>Null: Read failed</li>
 * </ul>
 */
@SuppressWarnings("unchecked")
public Ref<E> visionallyRead(E element) {

    Arguments.mustNotBeNull("element", element);
    String role = this.getNonNullRole();

    SessionImplementor session = this.getSession();
    if (session == null || !session.isOpen() || !session.isConnected()) {
        return null;
    }

    SessionFactoryImplementor sessionFactory = session.getFactory();
    QueryableCollection collection = (QueryableCollection) sessionFactory.getCollectionPersister(role);
    EntityPersister elementPersister = collection.getElementPersister();
    Object elementId = elementPersister.getIdentifier(element, this.getSession());
    if (elementId == null) {
        return new Ref<>();
    }
    if (elementPersister.getEntityMetamodel().getIdentifierProperty().getUnsavedValue()
            .isUnsaved((Serializable) elementId)) {
        return new Ref<>();
    }

    CriteriaImpl criteria = new CriteriaImpl(elementPersister.getEntityName(), session);

    /*
     * Add the condition of element.
     */
    criteria.add(Restrictions.idEq(elementId));

    //ownerKey, not ownerId
    Object ownerKey = collection.getCollectionType().getKeyOfOwner(this.getOwner(), session);
    //In Hibernate, isOneToMany means that there is no middle table
    //The @OneToMany of JPA with middle table is consider as many-to-many in Hibernate
    if (sessionFactory.getCollectionPersister(role).isOneToMany()) {
        String[] joinOwnerColumns = collection.getKeyColumnNames();
        StringBuilder sqlBuilder = new StringBuilder();
        for (int i = 0; i < joinOwnerColumns.length; i++) {
            if (i != 0) {
                sqlBuilder.append(" and ");
            }
            sqlBuilder.append("{alias}.").append(joinOwnerColumns[i]).append(" = ?");
        }
        criteria.add(Restrictions.sqlRestriction(sqlBuilder.toString(), ownerKey, collection.getKeyType()));
    } else {
        String lhsPropertyName = collection.getCollectionType().getLHSPropertyName();
        int lhsPropertyIndex = -1;
        if (lhsPropertyName != null) {
            String[] propertyNames = collection.getOwnerEntityPersister().getPropertyNames();
            for (int i = propertyNames.length - 1; i >= 0; i--) {
                if (propertyNames[i].equals(lhsPropertyName)) {
                    lhsPropertyIndex = i;
                    break;
                }
            }
        }
        String[] lhsColumnNames = JoinHelper.getLHSColumnNames(collection.getCollectionType(), lhsPropertyIndex,
                (OuterJoinLoadable) elementPersister, sessionFactory);
        String[] joinElementColumnNames = collection.getElementColumnNames();
        String[] joinOwnerColumnNames = collection.getKeyColumnNames();
        StringBuilder subQueryBuilder = new StringBuilder();
        subQueryBuilder.append("exists(select * from ").append(collection.getTableName()).append(" as ")
                .append(MIDDLE_TABLE_ALIAS).append(" where ");
        for (int i = 0; i < joinElementColumnNames.length; i++) {
            if (i != 0) {
                subQueryBuilder.append(" and ");
            }
            subQueryBuilder.append("{alias}.").append(lhsColumnNames[i]).append(" = ")
                    .append(MIDDLE_TABLE_ALIAS).append('.').append(joinElementColumnNames[i]);
        }
        for (int i = 0; i < joinOwnerColumnNames.length; i++) {
            subQueryBuilder.append(" and ").append(MIDDLE_TABLE_ALIAS).append(".")
                    .append(joinOwnerColumnNames[i]).append(" = ?");
        }
        subQueryBuilder.append(')');
        criteria.add(
                Restrictions.sqlRestriction(subQueryBuilder.toString(), ownerKey, collection.getKeyType()));
    }
    FlushMode oldFlushMode = session.getFlushMode();
    session.setFlushMode(FlushMode.MANUAL);
    try {
        return new Ref<>((E) criteria.uniqueResult());
    } finally {
        session.setFlushMode(oldFlushMode);
    }
}

From source file:org.candlepin.auth.permissions.ConsumerPermission.java

License:Open Source License

@Override
public Criterion getCriteriaRestrictions(Class entityClass) {
    if (entityClass.equals(Consumer.class)) {
        return Restrictions.idEq(consumer.getId());
    }// www  .jav  a 2s.c  o m
    return null;
}

From source file:org.candlepin.model.AbstractHibernateCurator.java

License:Open Source License

@Transactional
protected final <T> T secureGet(Class<T> clazz, Serializable id) {
    return clazz.cast(createSecureCriteria().add(Restrictions.idEq(id)).uniqueResult());
}

From source file:org.candlepin.model.PoolCurator.java

License:Open Source License

public int getNoOfDependentEntitlements(String entitlementId) {
    Filter consumerFilter = disableConsumerFilter();
    Integer result = (Integer) currentSession().createCriteria(Entitlement.class)
            .setProjection(Projections.rowCount()).createCriteria("pool").createCriteria("sourceEntitlement")
            .add(Restrictions.idEq(entitlementId)).list().get(0);
    enableIfPrevEnabled(consumerFilter);
    return result;
}

From source file:org.candlepin.model.PoolCurator.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<EntitlementCertificate> retrieveEntCertsOfPoolsWithSourceEntitlement(String entId) {
    return currentSession().createCriteria(EntitlementCertificate.class).createCriteria("entitlement")
            .createCriteria("pool").createCriteria("sourceEntitlement").add(Restrictions.idEq(entId)).list();
}