JPA найти последнюю запись
Я хотел бы знать, как лучше всего получить последнюю запись таблицы с JPA. В Sql то, что я ищу, будет похоже на:
select id from table order by id desc limit 1
Я думал о модели.count () но это больше похоже на хак, чем на хорошее решение;)
2 ответов
вы могли бы использовать JPQL query
что очень похоже на ваш запрос.
select t from JpaClass t order by t.id desc
после того как вы создать свой Query object
затем вы можете позвонить
query.getSingleResult() or call query.setMaxResults(1)
следовал по
query.getResultList()
EDIT: моя ошибка: обратите внимание на комментарий mtpettyp ниже.
не используйте запрос.getSingleResult () в качестве исключения может быть вызван, если там не точно одна строка возвращается-см. java.sun.com/javaee/5/…() - mtpettyp
Go с setMaxResults и getResultList.
query.setMaxResults(1).getResultList();
результаты методов запроса могут быть ограничены с помощью ключевых слов первый или top, который можно использовать взаимозаменяемо. Необязательное числовое значение можно добавить в top / first, чтобы указать максимальный размер возвращаемого результата. Если число опущено, предполагается размер результата 1.
JpaClass findFirstByOrderByIdDesc();