List 5 objects in a List

1

I'm setting up a panel that should show 5 products, for example, in the index of a page, however I can only load all the objects that are saved in the DB, and I can not think of a way to do this, , by DAO, loading in a class or even on the front. Would you have any solutions?

Front:

    <c:forEach items="${dao.listarPlat('PS4')}" var="p">
                                    <div class="col-md-3 produto well i2">
                                            <img class="img" src="img/${p.foto1}" title="" alt="">
                                            ${p.titulo}<br>${p.plataforma}
                                                R$
                                                <f:formatNumber minFractionDigits="2" currencySymbol="R$">
                                                    ${p.preco}
                                                </f:formatNumber>
                                        <button class="btn btn-success">Comprar</button>
                                    </div>    
                                </c:forEach>

DAO:

    public List<Produto> findProdutosPlat(String plataforma) {
    try {
        Query query = em.createQuery("select p from Produto as p where p.plataforma like :plataforma");
        query.setParameter("plataforma", plataforma + "%");
        List<Produto> produtos = query.getResultList();
        return produtos;
    } finally {
        em.close();
    }
}

CtrlProduct:

    public List<Produto> listarPlat(String dados) throws Exception {
    ProdutoDAO dao = new ProdutoDAO();
    return dao.findProdutosPlat(dados);
}

The solution was to add the .setMaxResults (5) to DAO, thus:

    public List<Produto> findProdutosMenu(String plataforma) {
    try {
        Query query = em.createQuery("select p from Produto as p where p.plataforma like :plataforma");
        query.setParameter("plataforma", plataforma + "%");
        query.setMaxResults(5);
        List<Produto> produtos = query.getResultList();
        return produtos;
    } finally {
        em.close();
    }
}
    
asked by anonymous 07.07.2017 / 07:30

0 answers