我想使用投影来为相同的查询返回更少的元素。
Page<Network> findByIdIn(List<Long> ids);
Page<NetworkSimple> findByIdIn(List<Long> ids);
由于查询是使用方法名称创建的,因此我需要使用哪些选项来执行相同的查询但名称不同?
答案 0 :(得分:0)
我今天遇到了这个,接受的答案实际上是不正确的;您可以在不改变行为的情况下更改方法名称。根据 Spring Data 文档:
<块引用>find(或其他引入关键字)和 By 之间的任何文本都被认为是描述性的,除非使用结果限制关键字之一,例如 Distinct 在要创建的查询上设置不同的标志或 Top/First 来限制查询结果。
因此,您可以有一个名为 findByIdIn
的方法和另一个名为 findNetworkSimpleByIdIn
的方法,这两个方法将返回相同的数据(根据定义的返回类型,可选择转换为不同的形式)。