Example usage for org.hibernate Query setParameter

List of usage examples for org.hibernate Query setParameter

Introduction

In this page you can find the example usage for org.hibernate Query setParameter.

Prototype

@SuppressWarnings("unchecked")
Query<R> setParameter(int position, Object val);

Source Link

Document

Bind a positional query parameter using its inferred Type.

Usage

From source file:br.com.gvt.eng.vod.dao.AssetDAO.java

public void updateMediaAssetImage(String assetId) {
    StringBuilder hql = new StringBuilder(
            "update IPVOD_MEDIA_ASSET set url = :imgUrl where asset_id = :assetId and media_type_id = :mediaTypeId");
    Query query = getSession().createSQLQuery(String.valueOf(hql));
    query.setParameter("assetId", assetId);
    query.setParameter("mediaTypeId", 1);
    query.setParameter("imgUrl", IpvodConstants.IMAGE_SERVER_URL + assetId + ".jpg");
    query.executeUpdate();/*from w ww. j a v a  2  s.c  om*/
}

From source file:br.com.gvt.eng.vod.dao.MenuDAO.java

public IpvodVisualMenu findMenuSTB(long menuId, Long userId) {
    final int ASSET_ID = 0;
    final int TITLE = 1;
    final int DESCRIPTION = 2;
    final int PRICE = 3;
    final int RATING = 4;
    final int RATING_LEVEL = 5;
    final int LANGUAGES = 6;
    final int SUBTITLES = 7;
    final int AUDIO_TYPE = 8;
    final int HD_CONTENT = 9;
    final int PURCHASE_ID = 10;
    final int PURCHASE_DATE = 11;
    final int VALID_UNTIL = 12;
    final int MD1_URL = 13;
    final int MD2_URL = 14;
    final int MD3_URL = 15;
    final int COUNTRY = 16;
    final int TOTAL_TIME = 17;
    final int RELEASE_YEAR = 18;

    StringBuilder hql = new StringBuilder("select " + "unique a.asset_id,  " + "a.title, " + "a.description,  "
            + "least((select price from IPVOD_ASSET x where x.asset_id = a.asset_id),coalesce((select min(price) from IPVOD_ASSET_PACKAGE ap where ap.asset_id = a.asset_id and ap.package_id in (select package_id from IPVOD_PACKAGE_SUBSCRIPTION ps where ps.user_id = :userId)),9999)) as price, "
            + "r.rating,  " + "r.rating_level,  " + "a.languages,  " + "a.subtitles,  " + "a.audio_type,  "
            + "a.hd_content,  " + "p.purchase_id,  " + "p.PURCHASE_DATE, " + "p.VALID_UNTIL, "
            + "md1.URL as md1URL, " + "md2.URL as md2URL, " + "md3.URL as md3URL, " + "a.country,  "
            + "a.total_time,  " + "a.release_year,  " + "ma.zindex " + "from IPVOD_ASSET a "
            + "left join IPVOD_VISUAL_MENU_ASSET_INDEX ma on (ma.ASSET_ID = A.ASSET_ID) "
            + "left join IPVOD_PURCHASE p on (p.asset_id = a.asset_id and p.equipment_id in (select equipment_id from IPVOD_EQUIPMENT where user_id = :userId) and p.valid_until > sysdate) "
            + "left join IPVOD_MEDIA_ASSET md1 on (md1.asset_id = a.asset_id and md1.media_type_id = 1) "
            + "left join IPVOD_MEDIA_ASSET md2 on (md2.asset_id = a.asset_id and md2.media_type_id = 2) "
            + "left join IPVOD_MEDIA_ASSET md3 on (md3.asset_id = a.asset_id and md3.media_type_id = 3) "
            + "left join IPVOD_RATING r on (r.rating_level = a.rating_level)"
            + "where a.asset_id = ma.asset_id and a.license_window_end >= sysdate and a.license_window_start <= sysdate "
            + "and ma.menu_id = :menuId order by ma.zindex ");

    Query query = getSession().createSQLQuery(String.valueOf(hql));
    query.setParameter("menuId", menuId);
    query.setParameter("userId", userId);

    @SuppressWarnings("unchecked")
    List<Object[]> assets = (List<Object[]>) query.list();

    IpvodVisualMenu ipvodVisualMenu = new IpvodVisualMenu();
    ipvodVisualMenu.setIpvodAssets(new ArrayList<IpvodAsset>());
    for (Object[] asset : assets) {
        IpvodAsset ipvodAsset = new IpvodAsset();
        ipvodAsset.setAssetId(((BigDecimal) asset[ASSET_ID]).longValue());
        ipvodAsset.setTitle((String) asset[TITLE]);
        ipvodAsset.setDescription((String) asset[DESCRIPTION]);
        ipvodAsset.setPrice(((BigDecimal) asset[PRICE]).doubleValue());

        ipvodAsset.setRating(new IpvodRating());
        if (asset[RATING_LEVEL] != null) {
            ipvodAsset.getRating().setRatingLevel(((BigDecimal) asset[RATING_LEVEL]).longValue());
            ipvodAsset.getRating().setRating((String) asset[RATING]);
        }//from w w  w .ja v a 2  s. c  om

        ipvodAsset.setLanguages((String) asset[LANGUAGES]);
        ipvodAsset.setSubtitles((String) asset[SUBTITLES]);
        ipvodAsset.setAudioType((String) asset[AUDIO_TYPE]);
        if (((BigDecimal) asset[HD_CONTENT]).longValue() == 1) {
            ipvodAsset.setHD(true);
        } else {
            ipvodAsset.setHD(false);
        }
        if (asset[PURCHASE_ID] != null) {
            IpvodPurchase ipvodPurchase = new IpvodPurchase();
            ipvodPurchase.setPurchaseId(((BigDecimal) asset[PURCHASE_ID]).longValue());
            ipvodPurchase.setPurchaseDate((Date) asset[PURCHASE_DATE]);
            ipvodPurchase.setValidUntil((Date) asset[VALID_UNTIL]);
            ipvodAsset.setIpvodPurchases(new ArrayList<IpvodPurchase>());
            ipvodAsset.getIpvodPurchases().add(ipvodPurchase);
        }
        ArrayList<IpvodMediaAsset> ipvodMediaAssets = new ArrayList<IpvodMediaAsset>();
        if (asset[MD1_URL] != null) {
            IpvodMediaAsset mediaAsset = new IpvodMediaAsset();
            mediaAsset.setUrl((String) asset[MD1_URL]);
            mediaAsset.setIpvodMediaType(new IpvodMediaType());
            mediaAsset.getIpvodMediaType().setMediaTypeId(1l);
            ipvodMediaAssets.add(mediaAsset);
        }
        if (asset[MD2_URL] != null) {
            IpvodMediaAsset mediaAsset = new IpvodMediaAsset();
            mediaAsset.setUrl((String) asset[MD2_URL]);
            mediaAsset.setIpvodMediaType(new IpvodMediaType());
            mediaAsset.getIpvodMediaType().setMediaTypeId(2l);
            ipvodMediaAssets.add(mediaAsset);
        }
        if (asset[MD3_URL] != null) {
            IpvodMediaAsset mediaAsset = new IpvodMediaAsset();
            mediaAsset.setUrl((String) asset[MD3_URL]);
            mediaAsset.setIpvodMediaType(new IpvodMediaType());
            mediaAsset.getIpvodMediaType().setMediaTypeId(3l);
            ipvodMediaAssets.add(mediaAsset);
        }
        ipvodAsset.setIpvodMediaAssets(ipvodMediaAssets);
        ipvodAsset.setCountry((String) asset[COUNTRY]);
        ipvodAsset.setTotalTime(((BigDecimal) asset[TOTAL_TIME]).longValue());
        if (asset[RELEASE_YEAR] != null) {
            ipvodAsset.setReleaseYear(((BigDecimal) asset[RELEASE_YEAR]).intValue());
        }
        ipvodAsset.setIpvodAssetType(new IpvodAssetType());
        ipvodVisualMenu.getIpvodAssets().add(ipvodAsset);
    }
    return ipvodVisualMenu;
}

From source file:br.com.gvt.eng.vod.dao.MenuDAO.java

public IpvodVisualMenu findMenuSTB(long menuId) {
    final int ASSET_ID = 0;
    final int TITLE = 1;
    final int DESCRIPTION = 2;
    final int PRICE = 3;
    final int RATING = 4;
    final int RATING_LEVEL = 5;
    final int LANGUAGES = 6;
    final int SUBTITLES = 7;
    final int AUDIO_TYPE = 8;
    final int HD_CONTENT = 9;
    final int MD1_URL = 10;
    final int MD2_URL = 11;
    final int MD3_URL = 12;
    final int COUNTRY = 13;
    final int TOTAL_TIME = 14;
    final int RELEASE_YEAR = 15;
    final int DIRECTOR = 17;
    final int ACTORS = 18;

    StringBuilder hql = new StringBuilder("select " + "unique a.asset_id,  " + "a.title, " + "a.description,  "
            + "a.price,  " + "r.rating, " + "r.rating_level,  " + "a.languages,  " + "a.subtitles,  "
            + "a.audio_type,  " + "a.hd_content,  " + "md1.URL as md1URL, " + "md2.URL as md2URL, "
            + "md3.URL as md3URL, " + "a.country,  " + "a.total_time,  " + "a.release_year, " + "ma.zindex, "
            + "a.director, " + "a.actors " + "from IPVOD_ASSET a "
            + "left join IPVOD_VISUAL_MENU_ASSET_INDEX ma on (ma.ASSET_ID = A.ASSET_ID) "
            + "left join IPVOD_MEDIA_ASSET md1 on (md1.asset_id = a.asset_id and md1.media_type_id = 1) "
            + "left join IPVOD_MEDIA_ASSET md2 on (md2.asset_id = a.asset_id and md2.media_type_id = 2) "
            + "left join IPVOD_MEDIA_ASSET md3 on (md3.asset_id = a.asset_id and md3.media_type_id = 3) "
            + "left join IPVOD_RATING r on (r.rating_level = a.rating_level)"
            + "where a.asset_id = ma.asset_id and a.license_window_end >= sysdate and a.license_window_start <= sysdate "
            + "and ma.menu_id = :menuId order by ma.zindex ");

    Query query = getSession().createSQLQuery(String.valueOf(hql));
    query.setParameter("menuId", menuId);

    @SuppressWarnings("unchecked")
    List<Object[]> assets = (List<Object[]>) query.list();

    IpvodVisualMenu ipvodVisualMenu = new IpvodVisualMenu();
    ipvodVisualMenu.setIpvodAssets(new ArrayList<IpvodAsset>());
    for (Object[] asset : assets) {
        IpvodAsset ipvodAsset = new IpvodAsset();
        ipvodAsset.setAssetId(((BigDecimal) asset[ASSET_ID]).longValue());
        ipvodAsset.setTitle((String) asset[TITLE]);
        ipvodAsset.setDescription((String) asset[DESCRIPTION]);
        ipvodAsset.setDirector((String) asset[DIRECTOR]);
        ipvodAsset.setActors((String) asset[ACTORS]);
        ipvodAsset.setDescription((String) asset[DESCRIPTION]);
        ipvodAsset.setPrice(((BigDecimal) asset[PRICE]).doubleValue());

        ipvodAsset.setRating(new IpvodRating());
        if (asset[RATING_LEVEL] != null) {
            ipvodAsset.getRating().setRatingLevel(((BigDecimal) asset[RATING_LEVEL]).longValue());
            ipvodAsset.getRating().setRating((String) asset[RATING]);
        }//  w  w  w  .j a  v a 2s. c  om

        ipvodAsset.setLanguages((String) asset[LANGUAGES]);
        ipvodAsset.setSubtitles((String) asset[SUBTITLES]);
        ipvodAsset.setAudioType((String) asset[AUDIO_TYPE]);
        if (((BigDecimal) asset[HD_CONTENT]).longValue() == 1) {
            ipvodAsset.setHD(true);
        } else {
            ipvodAsset.setHD(false);
        }
        ArrayList<IpvodMediaAsset> ipvodMediaAssets = new ArrayList<IpvodMediaAsset>();
        if (asset[MD1_URL] != null) {
            IpvodMediaAsset mediaAsset = new IpvodMediaAsset();
            mediaAsset.setUrl((String) asset[MD1_URL]);
            mediaAsset.setIpvodMediaType(new IpvodMediaType());
            mediaAsset.getIpvodMediaType().setMediaTypeId(1l);
            ipvodMediaAssets.add(mediaAsset);
        }
        if (asset[MD2_URL] != null) {
            IpvodMediaAsset mediaAsset = new IpvodMediaAsset();
            mediaAsset.setUrl((String) asset[MD2_URL]);
            mediaAsset.setIpvodMediaType(new IpvodMediaType());
            mediaAsset.getIpvodMediaType().setMediaTypeId(2l);
            ipvodMediaAssets.add(mediaAsset);
        }
        if (asset[MD3_URL] != null) {
            IpvodMediaAsset mediaAsset = new IpvodMediaAsset();
            mediaAsset.setUrl((String) asset[MD3_URL]);
            mediaAsset.setIpvodMediaType(new IpvodMediaType());
            mediaAsset.getIpvodMediaType().setMediaTypeId(3l);
            ipvodMediaAssets.add(mediaAsset);
        }
        ipvodAsset.setIpvodMediaAssets(ipvodMediaAssets);
        ipvodAsset.setCountry((String) asset[COUNTRY]);
        ipvodAsset.setTotalTime(((BigDecimal) asset[TOTAL_TIME]).longValue());
        if (asset[RELEASE_YEAR] != null) {
            ipvodAsset.setReleaseYear(((BigDecimal) asset[RELEASE_YEAR]).intValue());
        }
        ipvodAsset.setIpvodAssetType(new IpvodAssetType());
        ipvodVisualMenu.getIpvodAssets().add(ipvodAsset);
    }
    return ipvodVisualMenu;
}

From source file:br.com.gvt.eng.vod.dao.MenuDAO.java

public IpvodVisualMenu getMenuHierarchy(Long parentMenuId, Long userId) {
    final int MENU_ID = 0;
    final int NAME = 1;
    final int MENU_SUP = 2;
    final int RATING_LEVEL = 3;
    final int ADULT = 4;
    final int ZINDEX = 5;
    final int PACKAGE_ID = 6;

    StringBuilder hql = new StringBuilder("select " + "m.menu_id, " + "m.name, " + "m.menu_sup_id, "
            + "m.rating_level, " + "m.zindex, " + "r.adult, " + "p.package_id " + "from IPVOD_VISUAL_MENU m "
            + "left join IPVOD_RATING r on (r.rating_level = m.rating_level) "
            + "left join ipvod_package_menu p on (p.MENU_ID = m.MENU_ID) " + "where m.active = 1 "
            + "and (m.avaliable_since < sysdate or m.avaliable_since is null) "
            + "and (m.avaliable_until > sysdate or m.avaliable_until is null) " + "and m.menu_id in "
            + "(select unique m.menu_id from IPVOD_VISUAL_MENU m "
            + "left join IPVOD_VISUAL_MENU m2 on m.menu_sup_id = m2.menu_sup_id "
            + "start with m.menu_id = :parentMenuId connect by prior m.menu_id = m2.menu_sup_id) "
            //            + "and m.menu_id in "
            //            + "(select unique menu_id from IPVOD_VISUAL_MENU_ASSET_INDEX)"
            + " and (" + "m.menu_id in ( select unique menu_id from IPVOD_VISUAL_MENU_ASSET_INDEX) " + "or "
            + "m.menu_id in (select unique menu_sup_id from ipvod_visual_menu)" + ")"
            + "order by m.menu_sup_id desc, m.zindex, m.menu_id, p.package_id");

    Query query = getSession().createSQLQuery(String.valueOf(hql));
    query.setParameter("parentMenuId", parentMenuId);

    @SuppressWarnings("unchecked")
    List<Object[]> menus = (List<Object[]>) query.list();

    IpvodVisualMenu ipvodVisualMenuList = new IpvodVisualMenu();
    Map<Long, IpvodVisualMenu> map = new HashMap<Long, IpvodVisualMenu>();
    Map<Long, IpvodVisualMenu> parentNotFoundMap = new LinkedHashMap<Long, IpvodVisualMenu>();
    IpvodVisualMenu ipvodVisualMenu = new IpvodVisualMenu();
    for (Object[] menu : menus) {
        if (ipvodVisualMenu.getMenuId() != ((BigDecimal) menu[MENU_ID]).longValue()) {
            ipvodVisualMenu = new IpvodVisualMenu();
            ipvodVisualMenu.setMenuId(((BigDecimal) menu[MENU_ID]).longValue());
            ipvodVisualMenu.setName((String) menu[NAME]);
            ipvodVisualMenu.setContentURL("/menu/" + ipvodVisualMenu.getMenuId());
            if (menu[ZINDEX] != null) {
                ipvodVisualMenu.setZindex(((BigDecimal) menu[ZINDEX]).longValue());
            }//from   www. j  a va 2 s.c om
            IpvodRating ipvodRating = new IpvodRating();
            if (menu[RATING_LEVEL] != null) {
                ipvodRating.setRatingLevel(((BigDecimal) menu[RATING_LEVEL]).longValue());
                if (((BigDecimal) menu[ADULT]).longValue() == 1) {
                    ipvodRating.setAdult(true);
                } else {
                    ipvodRating.setAdult(false);
                }
            }
            ipvodVisualMenu.setIpvodRating(ipvodRating);
            if (ipvodVisualMenu.getMenuId() == parentMenuId) {
                ipvodVisualMenuList = ipvodVisualMenu;
            }
            ipvodVisualMenu.setIpvodVisualMenus(new ArrayList<IpvodVisualMenu>());
            map.put(ipvodVisualMenu.getMenuId(), ipvodVisualMenu);
            if (menu[MENU_SUP] != null) {
                IpvodVisualMenu menuParent = map.get(((BigDecimal) menu[MENU_SUP]).longValue());
                if (menuParent != null) {
                    menuParent.getIpvodVisualMenus().add(ipvodVisualMenu);
                } else {
                    menuParent = new IpvodVisualMenu();
                    menuParent.setMenuId(((BigDecimal) menu[MENU_SUP]).longValue());
                    ipvodVisualMenu.setIpvodVisualMenu(menuParent);
                    parentNotFoundMap.put(ipvodVisualMenu.getMenuId(), ipvodVisualMenu);
                }
            }
            ipvodVisualMenu.setIpvodPackages(new ArrayList<IpvodPackage>());
            if (menu[PACKAGE_ID] != null) {
                IpvodPackage ipvodPackage = new IpvodPackage();
                ipvodPackage.setPackageId(((BigDecimal) menu[PACKAGE_ID]).longValue());
                ipvodVisualMenu.getIpvodPackages().add(ipvodPackage);
            }
        } else {
            IpvodPackage ipvodPackage = new IpvodPackage();
            ipvodPackage.setPackageId(((BigDecimal) menu[PACKAGE_ID]).longValue());
            ipvodVisualMenu.getIpvodPackages().add(ipvodPackage);
        }

    }

    while (!parentNotFoundMap.isEmpty()) {
        ipvodVisualMenu = parentNotFoundMap.remove(parentNotFoundMap.keySet().toArray()[0]);
        long parentId = ipvodVisualMenu.getIpvodVisualMenu().getMenuId();
        IpvodVisualMenu menuParent = map.get(parentId);
        if (menuParent != null) {
            menuParent.getIpvodVisualMenus().add(ipvodVisualMenu);
        } else {
            menuParent = new IpvodVisualMenu();
            menuParent.setMenuId(parentId);
            if (map.get(parentId) != null || parentNotFoundMap.get(parentId) != null) {
                parentNotFoundMap.put(ipvodVisualMenu.getMenuId(), ipvodVisualMenu);
            }
        }
    }
    return ipvodVisualMenuList;
}

From source file:br.com.hslife.orcamento.repository.AbstractRepository.java

License:Open Source License

protected Query getQueryApplyingParameters(String hql) {
    Query query = getSession().createQuery(hql);

    for (String s : hqlParameters.keySet()) {
        query.setParameter(s, hqlParameters.get(s));
    }/* w  w w.  java2  s .  c o  m*/

    return query;
}

From source file:br.com.hslife.orcamento.repository.CartaoCreditoRepository.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<CartaoCredito> findDescricaoOrTipoCartaoOrAtivoByUsuario(String descricao, TipoCartao tipo,
        Usuario usuario, Boolean ativo) {
    StringBuilder hql = new StringBuilder();
    hql.append("FROM CartaoCredito cartao WHERE ");
    if (descricao != null) {
        hql.append("cartao.descricao LIKE '%");
        hql.append(descricao);// w w w . ja va 2s .co  m
        hql.append("%' AND ");
    }
    if (tipo != null) {
        hql.append("cartao.tipoCartao = :tipo AND ");
    }
    if (ativo != null) {
        hql.append("cartao.ativo = :ativo AND ");
    }

    hql.append("cartao.usuario.id = :idUsuario ORDER BY cartao.descricao ASC");

    Query hqlQuery = getQuery(hql.toString());

    if (tipo != null) {
        hqlQuery.setParameter("tipo", tipo);
    }

    if (ativo != null) {
        hqlQuery.setBoolean("ativo", ativo);
    }

    hqlQuery.setLong("idUsuario", usuario.getId());

    return hqlQuery.list();
}

From source file:br.com.hslife.orcamento.repository.CategoriaRepository.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<Categoria> findTipoCategoriaAndDescricaoAndAtivoByUsuario(TipoCategoria tipoCategoria,
        String descricao, Boolean ativo, Usuario usuario) {
    StringBuilder hql = new StringBuilder();
    hql.append("FROM Categoria categoria WHERE ");
    if (tipoCategoria != null) {
        hql.append("categoria.tipoCategoria = :tipo AND ");
    }//from w ww.  j  av  a2 s  .  co  m
    if (descricao != null && !descricao.isEmpty()) {
        hql.append("categoria.descricao LIKE '%");
        hql.append(descricao);
        hql.append("%' AND ");
    }
    if (ativo != null) {
        hql.append("categoria.ativo = :ativo AND ");
    }

    hql.append("categoria.usuario.id = :idUsuario ORDER BY categoria.descricao ASC");

    Query hqlQuery = getQuery(hql.toString());
    if (tipoCategoria != null) {
        hqlQuery.setParameter("tipo", tipoCategoria);
    }
    if (ativo != null) {
        hqlQuery.setParameter("ativo", ativo);
    }

    hqlQuery.setParameter("idUsuario", usuario.getId());

    return hqlQuery.list();
}

From source file:br.com.hslife.orcamento.repository.CategoriaRepository.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<Categoria> findTipoCategoriaAndDescricaoAndAtivoByUsuario(TipoCategoria tipoCategoria,
        String descricao, Boolean ativo, List<Usuario> usuarios) {
    StringBuilder hql = new StringBuilder();
    hql.append("FROM Categoria categoria WHERE ");
    if (tipoCategoria != null) {
        hql.append("categoria.tipoCategoria = :tipo AND ");
    }// w ww . j a  v  a2s  . c om
    if (descricao != null && !descricao.isEmpty()) {
        hql.append("categoria.descricao LIKE '%");
        hql.append(descricao);
        hql.append("%' AND ");
    }
    if (ativo != null) {
        hql.append("categoria.ativo = :ativo AND ");
    }

    hql.append("categoria.usuario.id IN (:idUsuario) ORDER BY categoria.descricao ASC");

    Query hqlQuery = getQuery(hql.toString());
    if (tipoCategoria != null) {
        hqlQuery.setParameter("tipo", tipoCategoria);
    }
    if (ativo != null) {
        hqlQuery.setParameter("ativo", ativo);
    }

    // Resgata os IDs dos usurios
    List<Long> idsUsuarios = new ArrayList<>();
    for (Usuario u : usuarios) {
        if (u != null && u.getId() != null) {
            idsUsuarios.add(u.getId());
        }
    }

    hqlQuery.setParameterList("idUsuario", idsUsuarios);

    return hqlQuery.list();
}

From source file:br.com.hslife.orcamento.repository.DividaTerceiroRepository.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<DividaTerceiro> findFavorecidoOrTipoCategoriaOrStatusDividaByUsuario(Favorecido favorecido,
        TipoCategoria tipoCategoria, StatusDivida statusDivida, Usuario usuario) {
    StringBuilder hql = new StringBuilder();
    hql.append("FROM DividaTerceiro divida WHERE ");

    if (favorecido != null) {
        hql.append("divida.favorecido.id = :idFavorecido AND ");
    }//from   w ww . ja va  2s  .  c  o  m

    if (tipoCategoria != null) {
        hql.append("divida.tipoCategoria = :tipo AND ");
    }

    if (statusDivida != null) {
        hql.append("divida.statusDivida = :status AND ");
    }

    hql.append("divida.usuario.id = :idUsuario ORDER BY divida.dataNegociacao DESC");

    Query hqlQuery = getQuery(hql.toString());

    if (favorecido != null) {
        hqlQuery.setLong("idFavorecido", favorecido.getId());
    }

    if (tipoCategoria != null) {
        hqlQuery.setParameter("tipo", tipoCategoria);
    }

    if (statusDivida != null) {
        hqlQuery.setParameter("status", statusDivida);
    }

    hqlQuery.setLong("idUsuario", usuario.getId());

    return hqlQuery.list();
}

From source file:br.com.hslife.orcamento.repository.DocumentoRepository.java

License:Open Source License

@SuppressWarnings("unchecked")
public List<Documento> findByNomeAndCategoriaDocumentoByUsuario(String nome,
        CategoriaDocumento categoriaDocumento, Usuario usuario) {
    StringBuilder hql = new StringBuilder();
    hql.append("FROM Documento documento WHERE ");
    if (categoriaDocumento != null) {
        hql.append("documento.categoriaDocumento = :tipo AND ");
    }//  w w w  . jav a2  s  .  c o m
    if (nome != null && !nome.isEmpty()) {
        hql.append("documento.nome LIKE '%");
        hql.append(nome);
        hql.append("%' AND ");
    }

    hql.append("documento.categoriaDocumento.usuario.id = :idUsuario ORDER BY documento.nome ASC");

    Query hqlQuery = getQuery(hql.toString());
    if (categoriaDocumento != null) {
        hqlQuery.setParameter("tipo", categoriaDocumento);
    }

    hqlQuery.setParameter("idUsuario", usuario.getId());

    return hqlQuery.list();
}