Подтвердить что ты не робот

Выберите первый результат с помощью JPA

Мне нужно вывести из БД только один результат. Как я могу сделать это с помощью JPA?

Select top 1 * from table

Я пробовал

"выберите t из таблицы t"

query.setMaxResults(1);

query.getSingleResult();

но не работает. Любые другие идеи?

4b9b3361

Ответ 1

Попробуйте это

String sql = "SELECT t FROM table t";
Query query = em.createQuery(sql);
query.setFirstResult(firstPosition);
query.setMaxResults(numberOfRecords);
List result = query.getResultList();

Он должен работать

UPDATE *

Вы также можете попробовать это

query.setMaxResults(1).getResultList();

Ответ 2

Чтобы использовать getSingleResult в TypedQuery, вы можете использовать

query.setFirstResult(0);
query.setMaxResults(1);
result = query.getSingleResult();

Ответ 3

Самый простой способ - использовать @Query с опцией NativeQuery, как показано ниже:

@Query(value="SELECT 1 * FROM table ORDER BY anyField DESC LIMIT 1", nativeQuery = true)

Ответ 4

Используйте собственный SQL-запрос, указав @NamedNativeQuery аннотацию класса сущности или используя EntityManager.createNativeQuery. Вам нужно будет указать тип ResultSet с помощью соответствующего класса или использовать сопоставление ResultSet.