Это не то, как вы делаете нумерацию страниц с JPA и Hibernate.LIMIT
является ключевым словом, специфичным для MySQL и PostgreSQL, а не для JPQL.
Более, LIMIT(1)
недопустимо в MySQL, поскольку LIMIT не является функцией.Вы должны были использовать это вместо этого LIMIT 1
в собственном запросе SQL, а не JPQL.
Как я объяснил в этой статье , вам нужно использовать метод setMaxResults
:
List<Product> products = entityManager
.createQuery(
"SELECT p " +
"FROM Product p " +
"ORDER BY p.created_on DESC", Product.class)
.setMaxResults( 50 )
.getResultList();
Вы не использовали ORDER BY в своем запросе, что также неверно, поскольку заказ не гарантируется, если вы не используете ORDER BY.