Мне нужно вывести из БД только один единственный результат.Как я могу сделать это с JPA?
Select top 1 * from table
Я пытался
"выбрать t из таблицы t"
query.setMaxResults(1); query.getSingleResult();
но не сделалт работа.Есть еще идеи?
Попробуйте вот так
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();
Чтобы использовать getSingleResult для TypedQuery, вы можете использовать
query.setFirstResult(0); query.setMaxResults(1); result = query.getSingleResult();
Самый простой способ - использовать @ Query with NativeQuery, параметр , как показано ниже:
@Query(value="SELECT 1 * FROM table ORDER BY anyField DESC LIMIT 1", nativeQuery = true)
Используйте собственный запрос SQL, указав аннотацию @NamedNativeQuery в классе сущности или используя метод EntityManager.createNativeQuery. Вам нужно будет указать тип ResultSet, используя соответствующий класс, или использовать сопоставление ResultSet.
@NamedNativeQuery
EntityManager.createNativeQuery