Example usage for org.hibernate.criterion DetachedCriteria setFetchMode

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

Introduction

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

Prototype

public DetachedCriteria setFetchMode(String associationPath, FetchMode mode) 

Source Link

Document

Set the fetch mode for a given association

Usage

From source file:org.LexGrid.LexBIG.caCore.dao.orm.translators.NestedObjectToCriteria.java

License:Open Source License

public DetachedCriteria translate(Class searchClass, List searchObjectList, String eagerFetchAssociation)
        throws TranslationException {
    DetachedCriteria crit = DetachedCriteria.forClass(searchClass);
    crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);

    if (eagerFetchAssociation != null) {
        crit.setFetchMode(eagerFetchAssociation, FetchMode.JOIN);
    }/*  ww  w . j a v a  2  s .  co m*/

    //Apply the List of Associated Objects (OR'ed)
    Disjunction disjunction = Restrictions.disjunction();
    for (Object searchObject : searchObjectList) {
        Criterion criterion = translator.buildCriterionFromNestedObjects(searchObject, crit);
        disjunction.add(criterion);
    }
    crit.add(disjunction);

    return crit;
}

From source file:org.n2.chess.beans.GameService.java

License:Open Source License

@Override
public Game loadGame(Integer id) {
    DetachedCriteria crit = DetachedCriteria.forClass(Game.class);
    crit.add(Restrictions.eq("id", id));
    crit.setFetchMode("playerWhite", FetchMode.JOIN);
    crit.setFetchMode("playerBlack", FetchMode.JOIN);
    crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
    List<Game> result = getGameDao().find(crit);
    return singleValue(result);
}

From source file:org.n2.chess.beans.ReminderService.java

License:Open Source License

@Scheduled(cron = "0 0 0/1 * * ?")
public void send() {
    if (LOG.isDebugEnabled()) {
        LOG.debug("Sending reminder...");
    }//  w  w  w .  j a va  2 s.  com
    DetachedCriteria crit = DetachedCriteria.forClass(Game.class);
    crit.add(Restrictions.isNull("notifyDate"));
    crit.setFetchMode("playerWhite", FetchMode.JOIN);
    crit.setFetchMode("playerBlack", FetchMode.JOIN);
    crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
    List<Game> gameList = getGameDao().find(crit);
    for (Game game : gameList) {
        sendReminder(game);
    }
}

From source file:sernet.gs.ui.rcp.main.service.crudcommands.LoadNotes.java

License:Open Source License

public void execute() {
    if (getLog().isDebugEnabled()) {
        getLog().debug("executing, id is: " + getCnAElementId() + "...");
    }//from w w  w  . j  av  a  2  s .c  om
    if (getCnAElementId() != null) {
        IBaseDao<Note, Serializable> dao = getDaoFactory().getDAO(Note.class);
        DetachedCriteria crit = DetachedCriteria.forClass(Note.class);
        crit.add(Restrictions.eq("cnATreeElementId", getCnAElementId()));
        crit.setFetchMode("entity", FetchMode.JOIN);
        crit.setFetchMode("entity.typedPropertyLists", FetchMode.JOIN);
        crit.setFetchMode("entity.typedPropertyLists.properties", FetchMode.JOIN);
        crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
        List<Note> internalNoteList = dao.findByCriteria(crit);
        if (getLog().isDebugEnabled()) {
            getLog().debug("number of notes found: " + internalNoteList.size());
        }
        for (Note note : internalNoteList) {
            Entity entity = note.getEntity();
            if (entity != null) {
                for (PropertyList pl : entity.getTypedPropertyLists().values()) {
                    for (Property p : pl.getProperties()) {
                        p.setParent(entity);
                    }
                }
            }
        }
        Collections.sort(internalNoteList, sorter);
        setNoteList(internalNoteList);
    }
}

From source file:sernet.gs.ui.rcp.main.service.taskcommands.LoadChildrenAndMassnahmen.java

License:Open Source License

public void execute() {
    try {/* ww  w  .  j  a  va  2 s  .  c  o  m*/
        long start = System.currentTimeMillis();
        List<CnATreeElement> list = null;
        IBaseDao<ITVerbund, Serializable> dao = getDaoFactory().getDAO(ITVerbund.class);
        DetachedCriteria crit = DetachedCriteria.forClass(CnATreeElement.class);
        crit.add(Restrictions.eq("dbId", id));
        crit.setFetchMode("children", FetchMode.JOIN);
        crit.setFetchMode("children.children", FetchMode.JOIN);
        crit.setFetchMode("children.children.entity", FetchMode.JOIN);
        crit.setFetchMode("children.children.entity.typedPropertyLists", FetchMode.JOIN);
        crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
        list = dao.findByCriteria(crit);
        if (list != null && list.size() > 0) {
            // create display items:
            fillLists(list.get(0));
        }
        if (LOG.isDebugEnabled()) {
            long runtime = System.currentTimeMillis() - start;
            LOG.debug("FindMassnahmenForITVerbund runtime: " + runtime + " ms.");
        }
    } catch (CommandException e) {
        throw new RuntimeCommandException(e);
    }
}

From source file:sernet.verinice.bpm.gsm.GsmProcessParameterCreater.java

License:Open Source License

protected DetachedCriteria createDefaultCriteria() {
    DetachedCriteria crit = DetachedCriteria.forClass(CnATreeElement.class);
    crit.setFetchMode("entity.typedPropertyLists", FetchMode.JOIN);
    crit.setFetchMode("entity.typedPropertyLists.properties", FetchMode.JOIN);
    crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
    return crit;/*  w ww  .  j  av a  2 s  . c o  m*/
}

From source file:sernet.verinice.graph.GraphService.java

License:Open Source License

private void loadLinks() {
    DetachedCriteria linkCrit = DetachedCriteria.forClass(CnALink.class);
    linkCrit.setFetchMode("dependant", FetchMode.JOIN);
    linkCrit.setFetchMode("dependency", FetchMode.JOIN);
    if (getRelationIds() != null && getRelationIds().length > 0) {
        linkCrit.add(Restrictions.in("id.typeId", getRelationIds()));
    }//  w w  w  .j  a v a2s .com
    linkCrit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
    List<CnALink> linkList = getCnaLinkDao().findByCriteria(linkCrit);
    if (LOG.isInfoEnabled()) {
        LOG.info(linkList.size() + " relevant links found");
    }
    for (CnALink link : linkList) {
        CnATreeElement source = uuidMap.get(link.getDependant().getUuid());
        CnATreeElement target = uuidMap.get(link.getDependency().getUuid());
        if (source != null && target != null) {
            graph.addEdge(source, target, link.getRelationId());
            if (LOG.isDebugEnabled()) {
                LOG.debug("Edge added: " + source.getTitle() + " - " + target.getTitle() + ", "
                        + link.getRelationId());
            }
        }
    }
}

From source file:sernet.verinice.hibernate.AttachmentDao.java

License:Open Source License

@Override
public List<Attachment> loadAttachmentList(Integer cnAElementId) {
    DetachedCriteria crit = DetachedCriteria.forClass(Attachment.class);
    if (cnAElementId != null) {
        crit.add(Restrictions.eq("cnATreeElementId", cnAElementId));
    }/*from www  .  j av  a2s.co m*/
    crit.setFetchMode("entity", FetchMode.JOIN);
    crit.setFetchMode("entity.typedPropertyLists", FetchMode.JOIN);
    crit.setFetchMode("entity.typedPropertyLists.properties", FetchMode.JOIN);
    crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
    return findByCriteria(crit);
}

From source file:sernet.verinice.hibernate.TreeElementDao.java

License:Open Source License

private void configureCriteria(DetachedCriteria criteria, IRetrieveInfo ri) {
    if (ri.isProperties()) {
        criteria.setFetchMode("entity", FetchMode.JOIN);
        criteria.setFetchMode("entity.typedPropertyLists", FetchMode.JOIN);
        criteria.setFetchMode("entity.typedPropertyLists.properties", FetchMode.JOIN);
    }//from  w w  w .j av a 2s.c o  m
    if (ri.isPermissions()) {
        criteria.setFetchMode("permissions", FetchMode.JOIN);
    }

    if (ri.isLinksDown()) {
        criteria.setFetchMode("linksDown", FetchMode.JOIN);
        criteria.setFetchMode("linksDown.dependency", FetchMode.JOIN);
        if (ri.isLinksDownProperties()) {
            criteria.setFetchMode("linksDown.dependency.entity", FetchMode.JOIN);
            criteria.setFetchMode("linksDown.dependency.entity.typedPropertyLists", FetchMode.JOIN);
            criteria.setFetchMode("linksDown.dependency.entity.typedPropertyLists.properties", FetchMode.JOIN);
        }
    }
    if (ri.isLinksUp()) {
        criteria.setFetchMode("linksUp", FetchMode.JOIN);
        criteria.setFetchMode("linksUp.dependant", FetchMode.JOIN);
        if (ri.isLinksUpProperties()) {
            criteria.setFetchMode("linksUp.dependant.entity", FetchMode.JOIN);
            criteria.setFetchMode("linksUp.dependant.entity.typedPropertyLists", FetchMode.JOIN);
            criteria.setFetchMode("linksUp.dependant.entity.typedPropertyLists.properties", FetchMode.JOIN);
        }
    }
    if (ri.isParent()) {
        criteria.setFetchMode("parent", FetchMode.JOIN);
        if (ri.isSiblings()) {
            criteria.setFetchMode("parent.children", FetchMode.JOIN);
        }
        if (ri.isParentPermissions()) {
            criteria.setFetchMode("parent.permissions", FetchMode.JOIN);
        }
    }
    if (ri.isChildren()) {
        criteria.setFetchMode("children", FetchMode.JOIN);
        DetachedCriteria criteriaChildren = null, criteriaEntity = null;
        if (ri.isInnerJoin()) {
            criteriaChildren = criteria.createCriteria("children");
        }
        if (ri.isChildrenProperties()) {
            criteria.setFetchMode("children.entity", FetchMode.JOIN);
            if (ri.isInnerJoin()) {
                criteriaEntity = criteriaChildren.createCriteria("entity");
            }
            criteria.setFetchMode("children.entity.typedPropertyLists", FetchMode.JOIN);
            if (ri.isInnerJoin()) {
                criteriaEntity.createCriteria("typedPropertyLists");
            }
            criteria.setFetchMode("children.entity.typedPropertyLists.properties", FetchMode.JOIN);
        }
        if (ri.isChildrenPermissions()) {
            criteria.setFetchMode("children.permissions", FetchMode.JOIN);
            if (ri.isInnerJoin()) {
                criteriaChildren.createCriteria("permissions");
            }
        }
    }
    if (ri.isGrandchildren()) {
        criteria.setFetchMode("children.children", FetchMode.JOIN);
    }
    criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
}

From source file:sernet.verinice.interfaces.graph.GraphElementLoader.java

License:Open Source License

private DetachedCriteria createDefaultCriteria() {
    DetachedCriteria crit = DetachedCriteria.forClass(CnATreeElement.class);
    crit.setFetchMode("entity.typedPropertyLists", FetchMode.JOIN);
    crit.setFetchMode("entity.typedPropertyLists.properties", FetchMode.JOIN);
    crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
    return crit;//w w  w.j a  v a  2s .  c  o  m
}