Найти список с записями, которые имеют максимальную версию этих записей - PullRequest
0 голосов
/ 01 июля 2019

У меня есть некоторые объекты, которые используют медленно изменяющиеся версии по номеру версии без флага current-version-flag. Моя сущность выглядит так:

@Entity
public class MyEntity {
  @Id
  private long id;
  private long functionalKey;
  private String name;
  private int version;
}

Есть записи типа:

  • {id = 1, functionsKey = 1, name = "Test1", версия = 1}
  • {id = 2, functionsKey = 18 , name = "Test2", version = 1}
  • {id = 32, functionsKey = 18 , name = "Новый тест 2", версия = 2}

Как я могу использовать данные Spring, чтобы найти все записи (by functionsKey) с наибольшим номером версии?

Чтобы найти одну запись, я могу использовать что-то вроде MyEntity findFirstByFunctionalKeyOrderByVersionDesc(long functionalKey) или написать подходящее выражение выражения. Но я хочу, чтобы все сущности не только одна! Я ищу что-то вроде List<MyEntity> findAllWithHighestVersionGroupedByFunctionalKey.

Как это возможно?

Спасибо за вашу поддержку!

1 Ответ

1 голос
/ 01 июля 2019

Вы не можете этого сделать.Вот список вещей, которые вы можете достичь с помощью методов запроса https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.query-creation.Вы должны использовать JPQL.

...