Spring Репозиторий CRUD: есть findOneByMaxXYZColumn()?

Мое требование:

извлечь один объект (например, RetainInfo) из таблицы RETAIN_INFO, если столбец VERSION имеет максимальное значение

Поддерживает ли репозиторий CRUD метод интерфейса, например

findOneByMaxRetVersionAndCountry("DEFAULT")

Эквивалент db2 sql:

select RET_ID, max(ri.RET_VERSION) from RETAIN_INFO ri  where ri. COUNTRY='DEFAULT'  group by RET_ID  fetch first 1 rows only;
  • Этот запрос выбирает идентификатор, но я бы действительно хотел, чтобы объект RetainInfo соответствовал строке SINGLE, возвращаемой запросом.

Я предпочитаю получить это без использования пользовательского запроса, то есть с помощью findBy или другого метода/интерфейса, поддерживаемого Spring CRUD.

Ответ 2

Spring Данные не предоставляют выражение для выбора максимального значения. Все поддерживаемые части запроса можно найти в документах Spring 1.2.0.RELEASE: Приложение A. Ссылка на пространство имен или строка 182 org.springframework.data.repository.query.parser.Part.

Также не стесняйтесь создавать запрос функции на странице Spring Jira.