查找包含此条目的最高版本的条目的列表

时间:2019-07-01 11:36:43

标签: spring spring-data-jpa spring-data

我有一些实体使用按版本号缓慢变化的版本控制,而没有current-version标志。我的实体看起来像:

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

有些条目如下:

  • {id = 1,functionalKey = 1,名称=“ Test1”,版本= 1}
  • {id = 2, functionalKey = 18 ,名称=“ Test2”,版本= 1}
  • {id = 32, functionalKey = 18 ,名称=“ New Test 2”,版本= 2}

如何使用Spring数据查找具有最高版本号的所有条目(通过functionalKey)?

要查找单个条目,我可以使用类似MyEntity findFirstByFunctionalKeyOrderByVersionDesc(long functionalKey)的东西或编写合适的表达式语句。但我希望所有实体不只是一个!我搜索类似List<MyEntity> findAllWithHighestVersionGroupedByFunctionalKey之类的东西。

这怎么可能?

感谢您的支持!

1 个答案:

答案 0 :(得分:1)

您不能那样做。以下是使用查询方法https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.query-creation可以实现的功能。您应该使用JPQL。