Example usage for org.hibernate.criterion DetachedCriteria setProjection

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

Introduction

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

Prototype

public DetachedCriteria setProjection(Projection projection) 

Source Link

Document

Set the projection to use.

Usage

From source file:com.jgeppert.struts2.jquery.grid.showcase.action.JsonTableAction.java

License:Apache License

public String execute() {
    log.debug("Page " + getPage() + " Rows " + getRows() + " Sorting Order " + getSord() + " Index Row :"
            + getSidx());/*w ww .  j a  va  2 s  . c  om*/
    log.debug("Search :" + searchField + " " + searchOper + " " + searchString);

    // Calcalate until rows ware selected
    int to = (rows * page);

    // Calculate the first row to read
    int from = to - rows;

    // Criteria to Build SQL
    DetachedCriteria criteria = DetachedCriteria.forClass(Customers.class);

    // Handle Search
    if (searchField != null) {
        if (searchField.equals("customernumber")) {
            Integer searchValue = Integer.parseInt(searchString);
            if (searchOper.equals("eq"))
                criteria.add(Restrictions.eq("customernumber", searchValue));
            else if (searchOper.equals("ne"))
                criteria.add(Restrictions.ne("customernumber", searchValue));
            else if (searchOper.equals("lt"))
                criteria.add(Restrictions.lt("customernumber", searchValue));
            else if (searchOper.equals("gt"))
                criteria.add(Restrictions.gt("customernumber", searchValue));
        } else if (searchField.equals("country") || searchField.equals("city")
                || searchField.equals("addressLine1") || searchField.equals("contactfirstname")
                || searchField.equals("contactlastname") || searchField.equals("customername")) {
            if (searchOper.equals("eq"))
                criteria.add(Restrictions.eq(searchField, searchString));
            else if (searchOper.equals("ne"))
                criteria.add(Restrictions.ne(searchField, searchString));
            else if (searchOper.equals("bw"))
                criteria.add(Restrictions.like(searchField, searchString + "%"));
            else if (searchOper.equals("cn"))
                criteria.add(Restrictions.like(searchField, "%" + searchString + "%"));
        } else if (searchField.equals("creditlimit")) {
            Double searchValue = Double.parseDouble(searchString);
            if (searchOper.equals("eq"))
                criteria.add(Restrictions.eq("creditlimit", searchValue));
            else if (searchOper.equals("ne"))
                criteria.add(Restrictions.ne("creditlimit", searchValue));
            else if (searchOper.equals("lt"))
                criteria.add(Restrictions.lt("creditlimit", searchValue));
            else if (searchOper.equals("gt"))
                criteria.add(Restrictions.gt("creditlimit", searchValue));
        }
        if (searchField.equals("employeenumber")) {
            Integer searchValue = Integer.parseInt(searchString);
            criteria.createAlias("salesemployee", "se");

            if (searchOper.equals("eq"))
                criteria.add(Restrictions.eq("se.employeenumber", searchValue));
            else if (searchOper.equals("ne"))
                criteria.add(Restrictions.ne("se.employeenumber", searchValue));
            else if (searchOper.equals("lt"))
                criteria.add(Restrictions.lt("se.employeenumber", searchValue));
            else if (searchOper.equals("gt"))
                criteria.add(Restrictions.gt("se.employeenumber", searchValue));
        }
    }

    // Count Customers
    records = customersDao.countByCriteria(criteria);

    // Reset count Projection
    criteria.setProjection(null);
    criteria.setResultTransformer(Criteria.ROOT_ENTITY);

    // Handle Order By
    if (sidx != null && !sidx.equals("")) {
        if (!sidx.equals("employeenumber")) {
            if (sord.equals("asc"))
                criteria.addOrder(Order.asc(sidx));
            else
                criteria.addOrder(Order.desc(sidx));
        } else {
            if (sord.equals("asc"))
                criteria.addOrder(Order.asc("salesemployee.employeenumber"));
            else
                criteria.addOrder(Order.desc("salesemployee.employeenumber"));
        }
    }

    // Get Customers by Criteria
    gridModel = customersDao.findByCriteria(criteria, from, rows);

    // Set to = max rows
    if (to > records)
        to = records;

    // Calculate total Pages
    total = (int) Math.ceil((double) records / (double) rows);

    return SUCCESS;
}

From source file:com.lzw.work.cms.manager.PreCarRegisterManager.java

/**
 * //from w ww.  ja v  a2  s .  c o  m
 */
public void getCarList() {

    Map userMap = (Map) ServletActionContext.getRequest().getSession().getAttribute("user");

    String stationCode = (String) userMap.get("StationCode");

    String userName = (String) userMap.get("UserName");

    String isAdmin = (String) userMap.get("IsAdmin");

    String clsbdh = ServletActionContext.getRequest().getParameter("clsbdh");

    Integer page = Integer.parseInt(ServletActionContext.getRequest().getParameter("page"));

    Integer rows = Integer.parseInt(ServletActionContext.getRequest().getParameter("rows"));

    DetachedCriteria dc = DetachedCriteria.forClass(bean.getClass());

    if (!"1".equals(isAdmin)) {
        dc.add(Restrictions.eq("stationCode", stationCode));
    }

    if (clsbdh != null && !"".equals(clsbdh)) {
        dc.add(Restrictions.like("clsbdh", "%" + clsbdh));
    }

    int first = (page - 1) * rows;

    dc.setProjection(Projections.rowCount());
    Long count = (Long) this.getHibernateTemplate().findByCriteria(dc).get(0);

    dc.setProjection(null);

    dc.addOrder(Order.desc("createdDate"));
    List list = this.getHibernateTemplate().findByCriteria(dc, first, rows);

    Map map = new HashMap();

    map.put("rows", list);
    map.put("total", count.intValue());

    JSONObject jo = JSONObject.fromObject(map);
    pw.print(jo);
}

From source file:com.medicfast.DAO.SenhaDAO.java

public Senha buscarProximaSenha() { // nao usado
    Session session = (Session) em.getDelegate();

    DetachedCriteria max = DetachedCriteria.forClass(Senha.class);
    max.add(Restrictions.eq("chamado", true));
    max.setProjection(Projections.max("numero"));

    Criteria c = session.createCriteria(Senha.class);
    c.add(Restrictions.eq("chamado", false));

    c.add(Property.forName("numero").eq(max));
    return (Senha) c.uniqueResult();
}

From source file:com.opengamma.masterdb.batch.DbBatchMaster.java

License:Open Source License

@Override
@SuppressWarnings("unchecked")
public Pair<List<MarketData>, Paging> getMarketData(final PagingRequest pagingRequest) {
    s_logger.info("Getting markte datas: ", pagingRequest);

    return getTransactionTemplateRetrying(getMaxRetries())
            .execute(new TransactionCallback<Pair<List<MarketData>, Paging>>() {
                @Override//w w w  .ja v a 2  s.c o  m
                public Pair<List<MarketData>, Paging> doInTransaction(final TransactionStatus status) {
                    final DetachedCriteria criteria = DetachedCriteria.forClass(MarketData.class);

                    List<MarketData> results = Collections.emptyList();
                    if (!pagingRequest.equals(PagingRequest.NONE)) {
                        results = getHibernateTemplate().findByCriteria(criteria, pagingRequest.getFirstItem(),
                                pagingRequest.getPagingSize());
                    }
                    //
                    Paging paging;
                    if (pagingRequest.equals(PagingRequest.ALL)) {
                        paging = Paging.of(pagingRequest, results);
                    } else {
                        criteria.setProjection(Projections.rowCount());
                        final Long totalCount = (Long) getHibernateTemplate().findByCriteria(criteria).get(0);
                        paging = Paging.of(pagingRequest, totalCount.intValue());
                    }
                    //     
                    return Pair.of(results, paging);
                }
            });
}

From source file:com.opengamma.masterdb.batch.DbBatchMaster.java

License:Open Source License

@Override
@SuppressWarnings("unchecked")
public Pair<List<MarketDataValue>, Paging> getMarketDataValues(final ObjectId marketDataId,
        final PagingRequest pagingRequest) {
    s_logger.info("Getting the batch data snapshot: {}", marketDataId);

    final Long marketDataPK = extractOid(marketDataId);

    return getTransactionTemplateRetrying(getMaxRetries())
            .execute(new TransactionCallback<Pair<List<MarketDataValue>, Paging>>() {
                @Override/*from   ww w  .  j  a  v  a  2 s  .c om*/
                public Pair<List<MarketDataValue>, Paging> doInTransaction(final TransactionStatus status) {

                    final DetachedCriteria criteria = DetachedCriteria.forClass(MarketDataValue.class);
                    criteria.add(Restrictions.eq("marketDataId", marketDataPK));
                    //
                    List<MarketDataValue> results = Collections.emptyList();
                    if (!pagingRequest.equals(PagingRequest.NONE)) {
                        results = getHibernateTemplate().findByCriteria(criteria, pagingRequest.getFirstItem(),
                                pagingRequest.getPagingSize());
                    }
                    //
                    Paging paging;
                    if (pagingRequest.equals(PagingRequest.ALL)) {
                        paging = Paging.of(pagingRequest, results);
                    } else {
                        criteria.setProjection(Projections.rowCount());
                        final Long totalCount = (Long) getHibernateTemplate().findByCriteria(criteria).get(0);
                        paging = Paging.of(pagingRequest, totalCount.intValue());
                    }
                    //
                    return Pair.of(results, paging);
                }
            });
}

From source file:com.opengamma.masterdb.batch.DbBatchMaster.java

License:Open Source License

@Override
@SuppressWarnings("unchecked")
public Pair<List<RiskRun>, Paging> searchRiskRun(final BatchRunSearchRequest request) {
    s_logger.info("Searching BatchDocuments: ", request);

    final DetachedCriteria criteria = DetachedCriteria.forClass(RiskRun.class);

    if (request.getValuationTime() != null) {
        criteria.add(Restrictions.eq("valuationTime", request.getValuationTime()));
    }/*from w w  w .j a v a 2s  .co  m*/
    if (request.getVersionCorrection() != null) {
        criteria.add(Restrictions.eq("versionCorrection", request.getVersionCorrection()));
    }

    if (request.getMarketDataUid() != null) {
        criteria.createCriteria("marketData")
                .add(Restrictions.eq("baseUidScheme", request.getMarketDataUid().getScheme()))
                .add(Restrictions.eq("baseUidValue", request.getMarketDataUid().getValue()))
                .add(eqOrIsNull("baseUidVersion", request.getMarketDataUid().getVersion()));
        //.addOrder(Order.asc("baseUid"));
    }

    if (request.getViewDefinitionUid() != null) {
        criteria.add(Restrictions.eq("viewDefinitionUidScheme", request.getViewDefinitionUid().getScheme()))
                .add(Restrictions.eq("viewDefinitionUidValue", request.getViewDefinitionUid().getValue()))
                .add(eqOrIsNull("viewDefinitionUidVersion", request.getViewDefinitionUid().getVersion()));
        //.addOrder(Order.asc("viewDefinitionUid"));
    }

    return getTransactionTemplateRetrying(getMaxRetries())
            .execute(new TransactionCallback<Pair<List<RiskRun>, Paging>>() {
                @Override
                public Pair<List<RiskRun>, Paging> doInTransaction(final TransactionStatus status) {
                    //
                    final PagingRequest pagingRequest = request.getPagingRequest();
                    List<RiskRun> results = Collections.emptyList();
                    Paging paging;
                    if (!pagingRequest.equals(PagingRequest.NONE)) {
                        if (pagingRequest.equals(PagingRequest.ALL)) {
                            criteria.addOrder(Order.asc("valuationTime"));
                            results = getHibernateTemplate().findByCriteria(criteria,
                                    pagingRequest.getFirstItem(), pagingRequest.getPagingSize());
                            //
                            paging = Paging.of(pagingRequest, results);
                        } else {
                            criteria.setProjection(Projections.rowCount());
                            final Long totalCount = (Long) getHibernateTemplate().findByCriteria(criteria)
                                    .get(0);
                            paging = Paging.of(pagingRequest, totalCount.intValue());
                            //
                            criteria.setProjection(null);
                            criteria.setResultTransformer(Criteria.ROOT_ENTITY);
                            criteria.addOrder(Order.asc("valuationTime"));
                            results = getHibernateTemplate().findByCriteria(criteria,
                                    pagingRequest.getFirstItem(), pagingRequest.getPagingSize());
                        }
                    } else {
                        paging = Paging.of(PagingRequest.NONE, 0);
                    }
                    return Pair.of(results, paging);
                }
            });
}

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   ww  w  .  j ava  2 s . c  o m*/
    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;//  w w  w . j ava 2  s . c o 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.rta.vsd.data.service.impl.OwnerInfoDataServiceImpl.java

/**
 * /*from  w w  w .  j  a v  a2s  .  c o  m*/
 * Gets the owner info from the latest plate details provided.
 * 
 * @author Eldon Barrows
 * @param dsContext
 * @param retrieveArabicData
 * @param plateDetails
 * @return 
 * @throws VSDDataAccessException
 */
public VsdOwnerInfo getOwnerInfoByLatestPlateDetails(DataServiceContext dsContext, boolean retrieveArabicData,
        VehiclePlate plateDetails) throws VSDDataAccessException {
    logger.info("getOwnerInfoByLatestPlateDetails -- START");
    try {
        Session session = (Session) dsContext.getInternalContext();
        DetachedCriteria dc = DetachedCriteria.forClass(VsdVehicleInfo.class, "vi")
                .add(Restrictions.eq("vi.isDeleted", IDataService.BOOL_FALSE))
                .createCriteria("vi.vsdOwnerInfos", "oi", Criteria.INNER_JOIN)
                .add(Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE));
        dc.setProjection(Projections.max("vi.createdTimestamp"));
        if (plateDetails != null && plateDetails.getPlateCategory() != null
                && !plateDetails.getPlateCategory().equals("")) {
            dc.add(Restrictions.eq("vi.vehiclePlateCategory", plateDetails.getPlateCategory()));
        }
        if (plateDetails != null && plateDetails.getPlateCode() != null
                && !plateDetails.getPlateCode().equals("")) {
            dc.add(Restrictions.eq("vi.vehiclePlateCode", plateDetails.getPlateCode()));
        }
        if (plateDetails != null && plateDetails.getPlateNumber() != null
                && !plateDetails.getPlateNumber().equals("")) {
            dc.add(Restrictions.eq("vi.vehiclePlateNumber", plateDetails.getPlateNumber()));
        }
        if (plateDetails != null && plateDetails.getPlateSource() != null
                && !plateDetails.getPlateSource().equals("")) {
            dc.add(Restrictions.eq("vi.vehiclePlateSource", plateDetails.getPlateSource()));
        }

        Criteria crit = session.createCriteria(VsdVehicleInfo.class, "vInfo")
                .createCriteria("vInfo.vsdOwnerInfos", "oi", Criteria.INNER_JOIN,
                        Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("vInfo.isDeleted", IDataService.BOOL_FALSE))
                .add(Property.forName("vInfo.createdTimestamp").in(dc));
        //                     crit.setProjection(Projections.property("vInfo.vehicleInfoId"));                     
        if (plateDetails != null && plateDetails.getPlateCategory() != null
                && !plateDetails.getPlateCategory().equals("")) {
            crit.add(Restrictions.eq("vInfo.vehiclePlateCategory", plateDetails.getPlateCategory()));
        }
        if (plateDetails != null && plateDetails.getPlateCode() != null
                && !plateDetails.getPlateCode().equals("")) {
            crit.add(Restrictions.eq("vInfo.vehiclePlateCode", plateDetails.getPlateCode()));
        }
        if (plateDetails != null && plateDetails.getPlateNumber() != null
                && !plateDetails.getPlateNumber().equals("")) {
            crit.add(Restrictions.eq("vInfo.vehiclePlateNumber", plateDetails.getPlateNumber()));
        }
        if (plateDetails != null && plateDetails.getPlateSource() != null
                && !plateDetails.getPlateSource().equals("")) {
            crit.add(Restrictions.eq("vInfo.vehiclePlateSource", plateDetails.getPlateSource()));
        }
        crit.addOrder(Order.desc("vInfo.createdTimestamp"));
        List<VsdVehicleInfo> vehicles = crit.list();
        if (vehicles == null || vehicles.isEmpty())
            return null;
        Long vehicleInfoId = (Long) vehicles.get(0).getVehicleInfoId();
        System.out.println("vehicleInfoId " + vehicleInfoId);
        VsdOwnerInfo ownerInfo = (VsdOwnerInfo) session.createCriteria(VsdOwnerInfo.class, "oi")
                .add(Restrictions.eq("oi.isDeleted", IDataService.BOOL_FALSE))
                .add(Restrictions.eq("oi.vehicleInfoId", vehicleInfoId)).uniqueResult();

        logger.info("getOwnerInfoByLatestPlateDetails -- END");
        return ownerInfo;
    } catch (Exception ex) {
        logger.error("An error occured in getOwnerInfoByLatestPlateDetails()");
        throw new VSDDataAccessException(ex.getMessage(), ex);
    }
}

From source file:com.sapienter.jbilling.server.metafields.db.MetaFieldGroupDAS.java

License:Open Source License

@SuppressWarnings("unchecked")
public Integer getAllAvailableFieldGroupsCount(Integer entityId) {
    DetachedCriteria query = DetachedCriteria.forClass(MetaFieldGroup.class);
    query.setProjection(Projections.rowCount()).add(Restrictions.eq("entityId", entityId))
            .addOrder(Order.asc("displayOrder"));
    List result = getHibernateTemplate().findByCriteria(query);
    return (Integer) result.get(0);

}