Как получить последнюю добавленную строку из определенной таблицы - PullRequest
0 голосов
/ 27 сентября 2010

Как получить последнюю добавленную строку из определенной таблицы, которая удовлетворяет определенному условию.

Если я использую javax / persistence / Query.html # getSingleResult (), мы получим исключение NonUniqueResultException, если их несколькостроки, удовлетворяющие запросу.Мне нужен эквивалент findOne из списка.Я бы предпочел не разбивать на страницы, задав для rowPerPage значение 1, а затем получить результатSet.

Ответы [ 2 ]

2 голосов
/ 27 сентября 2010

Вы указали, что не хотите использовать «rowPerPage», но это правильный способ сделать это:

query.setMaxResults(1)

Однако это не гарантирует, что строка является самой последней,если вы не запросите критерии, включая дату.Если у вас нет такого столбца и вы не используете автоинкремент (что должно быть последним средством), вы не сможете достичь своей цели.

0 голосов
/ 27 сентября 2010

jpa и hibernate требуют, чтобы у каждой строки был уникальный идентификатор. Поэтому выберите строку с id = max (id). это будет работать в большинстве случаев, когда генерация идентификатора является инкрементной. Не уверен, как его получить, например, если id - это строка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...