Example usage for org.hibernate.criterion DetachedCriteria createAlias

List of usage examples for org.hibernate.criterion DetachedCriteria createAlias

Introduction

In this page you can find the example usage for org.hibernate.criterion DetachedCriteria createAlias.

Prototype

public DetachedCriteria createAlias(String associationPath, String alias) 

Source Link

Document

Creates an association path alias within this DetachedCriteria.

Usage

From source file:org.linagora.linshare.core.repository.hibernate.OperationHistoryRepositoryImpl.java

License:Open Source License

@Override
public List<String> findUuidAccountBeforeDate(Date date, ContainerQuotaType containerQuotaType) {
    DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentClass());
    criteria.add(Restrictions.eq("containerQuotaType", containerQuotaType));
    criteria.add(Restrictions.le("creationDate", date));
    criteria.createAlias("account", "ac");
    criteria.setProjection(Projections.distinct(Projections.property("ac.lsUuid")));
    @SuppressWarnings("unchecked")
    List<String> listlsUuid = (List<String>) getHibernateTemplate().findByCriteria(criteria);
    return listlsUuid;
}

From source file:org.linagora.linshare.core.repository.hibernate.ShareEntryGroupRepositoryImpl.java

License:Open Source License

@Override
public List<String> findAllAnonymousShareEntriesAboutToBeNotified(Date dt) {
    DetachedCriteria det = DetachedCriteria.forClass(getPersistentClass());
    det.add(Restrictions.eq("notified", false));
    det.add(Restrictions.lt("notificationDate", dt));
    // only identifier instead of entity
    det.setProjection(Projections.property("uuid"));
    det.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
    // join//from w  ww. ja  v a 2 s . c  o  m
    det.createAlias("anonymousShareEntries", "ase");
    // restrict
    det.add(Restrictions.eq("ase.downloaded", new Long(0)));
    @SuppressWarnings("unchecked")
    List<String> list = listByCriteria(det);
    return list;
}

From source file:org.linagora.linshare.core.repository.hibernate.ShareEntryGroupRepositoryImpl.java

License:Open Source License

@Override
public List<String> findAllShareEntriesAboutToBeNotified(Date dt) {
    DetachedCriteria det = DetachedCriteria.forClass(getPersistentClass());
    det.add(Restrictions.eq("notified", false));
    det.add(Restrictions.lt("notificationDate", dt));
    // only identifier instead of entity
    det.setProjection(Projections.property("uuid"));
    det.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
    // join//from w w w. j  a  va  2 s .c  o  m
    det.createAlias("shareEntries", "se");
    // restrict
    det.add(Restrictions.eq("se.downloaded", new Long(0)));
    @SuppressWarnings("unchecked")
    List<String> list = listByCriteria(det);
    return list;
}

From source file:org.linagora.linshare.core.repository.hibernate.ThreadRepositoryImpl.java

License:Open Source License

@Override
public List<Thread> findAllWhereMember(User actor) {
    DetachedCriteria det = DetachedCriteria.forClass(Thread.class);
    det.add(Restrictions.eq("destroyed", false));

    // query//from   w  w  w  . ja  v  a 2  s  .  com
    det.createAlias("myMembers", "member");
    det.add(Restrictions.eq("member.user", actor));
    return findByCriteria(det);
}

From source file:org.linagora.linshare.core.repository.hibernate.ThreadRepositoryImpl.java

License:Open Source License

@Override
public List<Thread> findAllWhereAdmin(User actor) {
    DetachedCriteria det = DetachedCriteria.forClass(Thread.class);
    det.add(Restrictions.eq("destroyed", false));

    // query/*ww w.j  a  va 2s  . c o  m*/
    det.createAlias("myMembers", "member");
    det.add(Restrictions.eq("member.user", actor));
    det.add(Restrictions.eq("member.admin", true));
    return findByCriteria(det);
}

From source file:org.linagora.linshare.core.repository.hibernate.ThreadRepositoryImpl.java

License:Open Source License

@Override
public List<Thread> findAllWhereCanUpload(User actor) {
    DetachedCriteria det = DetachedCriteria.forClass(Thread.class);
    det.add(Restrictions.eq("destroyed", false));

    // query/*  w  ww  . j av a  2  s .c o m*/
    det.createAlias("myMembers", "member");
    det.add(Restrictions.eq("member.user", actor));
    det.add(Restrictions.eq("member.canUpload", true));
    return findByCriteria(det);
}

From source file:org.linagora.linshare.core.repository.hibernate.ThreadRepositoryImpl.java

License:Open Source License

@Override
public List<Thread> findLatestWhereMember(User actor, int limit) {
    DetachedCriteria det = DetachedCriteria.forClass(Thread.class);
    det.add(Restrictions.eq("destroyed", false));

    if (limit < 1)
        limit = 1;/* w  w w .j  a v a2  s  .c  om*/
    // query
    det.createAlias("myMembers", "member");
    det.add(Restrictions.eq("member.user", actor));
    det.addOrder(Order.desc("modificationDate"));
    return findByCriteria(det, limit);
}

From source file:org.linagora.linshare.core.repository.hibernate.ThreadRepositoryImpl.java

License:Open Source License

@Override
public List<Thread> searchByName(User actor, String pattern) {
    DetachedCriteria det = DetachedCriteria.forClass(Thread.class);
    det.add(Restrictions.eq("destroyed", false));

    // query// w w  w.j a v  a 2s  .  c o m
    det.createAlias("myMembers", "member");
    if (!actor.isSuperAdmin())
        det.add(Restrictions.eq("member.user", actor));
    det.addOrder(Order.desc("modificationDate"));
    det.add(Restrictions.ilike("name", pattern, ANYWHERE));
    return findByCriteria(det);
}

From source file:org.linagora.linshare.core.repository.hibernate.ThreadRepositoryImpl.java

License:Open Source License

@Override
public List<Thread> searchAmongMembers(User actor, String pattern) {
    DetachedCriteria det = DetachedCriteria.forClass(Thread.class);
    det.add(Restrictions.eq("destroyed", false));

    Disjunction or = Restrictions.disjunction();

    det.createAlias("myMembers", "member2");
    det.createAlias("member2.user", "u");
    or.add(Restrictions.ilike("u.firstName", pattern, ANYWHERE));
    or.add(Restrictions.ilike("u.lastName", pattern, ANYWHERE));
    det.add(or);/*from  w  w w .  jav a2 s .co m*/

    DetachedCriteria sub = DetachedCriteria.forClass(Thread.class);
    sub.createAlias("myMembers", "member");
    if (!actor.isSuperAdmin())
        sub.add(Restrictions.eq("member.user", actor));
    sub.setProjection(Projections.id());

    det.add(Subqueries.propertyIn("id", sub));
    return findByCriteria(det);
}

From source file:org.openmrs.api.db.hibernate.HibernateUtil.java

License:Mozilla Public License

/**
 * Adds attribute value criteria to the given criteria query
 * /*from  www. ja  va 2s  . c  om*/
 * @param criteria the criteria
 * @param serializedAttributeValues the serialized attribute values
 * @param <AT> the attribute type
 */
public static <AT extends AttributeType> void addAttributeCriteria(Criteria criteria,
        Map<AT, String> serializedAttributeValues) {
    Conjunction conjunction = Restrictions.conjunction();
    int a = 0;

    for (Map.Entry<AT, String> entry : serializedAttributeValues.entrySet()) {
        String alias = "attributes" + (a++);
        DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Location.class)
                .setProjection(Projections.id());
        detachedCriteria.createAlias("attributes", alias);
        detachedCriteria.add(Restrictions.eq(alias + ".attributeType", entry.getKey()));
        detachedCriteria.add(Restrictions.eq(alias + ".valueReference", entry.getValue()));
        detachedCriteria.add(Restrictions.eq(alias + ".voided", false));

        conjunction.add(Property.forName("id").in(detachedCriteria));
    }

    criteria.add(conjunction);
}