Поиск продуктов с заданным именем, упорядочение результатов по дате вставки (столбец, который должен присутствовать в сущности «Продукт») по идентификатору (если в качестве идентификатора используется порядковый номер), в порядке убывания и вызов setMaxResults(100)
в запросе, чтобы ограничить его до 100 результатов:
TypedQuery<Product> q =
em.createQuery("select p from Product p"
+ " where p.name = :name"
+ " order by p.insertionDate desc", Product.class);
q.setParameter("name", name);
q.setMaxResults(100);
return q.getResultList();