相同的查询方法和参数在Spring Data中具有不同的返回值

时间:2016-04-11 12:09:16

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

我想使用投影来为相同的查询返回更少的元素。

Page<Network> findByIdIn(List<Long> ids);
Page<NetworkSimple> findByIdIn(List<Long> ids);

由于查询是使用方法名称创建的,因此我需要使用哪些选项来执行相同的查询但名称不同?

1 个答案:

答案 0 :(得分:0)

我今天遇到了这个,接受的答案实际上是不正确的;您可以在不改变行为的情况下更改方法名称。根据 Spring Data 文档:

<块引用>

find(或其他引入关键字)和 By 之间的任何文本都被认为是描述性的,除非使用结果限制关键字之一,例如 Distinct 在要创建的查询上设置不同的标志或 Top/First 来限制查询结果。

因此,您可以有一个名为 findByIdIn 的方法和另一个名为 findNetworkSimpleByIdIn 的方法,这两个方法将返回相同的数据(根据定义的返回类型,可选择转换为不同的形式)。