当前位置: 首页 > 知识库问答 >
问题:

Spring Data JPA-获取列中的所有唯一值

邵华皓
2023-03-14

我有一个使用Spring Data JPA的项目,它使用一个充满地址的表中的数据。这个表格的一列是城市。我想获得表中城市的不同列表,即从地址中选择不同的城市

有没有办法使用Spring Data JPA做到这一点?

共有2个答案

黄成荫
2023-03-14

Manish的评论可能应该升级为一个答案(我将在这里尝试捕捉,因为它最终解决了我的问题……尽管投影似乎不适用于select distinct)。选择的答案在spring data jpa中有效,但在spring data rest中失败。spring数据rest场景的一个可能的解决方法是为选择不同的结果创建一个单独的@RestController

@RestController
public class AddressRepoAdditionals {
     @Autowired
     private AddressRepository repo;

     @RequestMapping("/additional/address/distictCities")
     public List<String> findDistinctCity() {
          return repo.findDistinctCity();
     }
 }

也许基于@RepositoryRestController有一个类似但更优雅的变体

崔绍辉
2023-03-14

这可以通过使用@Query注释实现,如下所示:

public interface AddressRepository extends CrudRepository<Address, Long> {
    @Query("SELECT DISTINCT a.city FROM Address a")
    List<String> findDistinctCity();
}

然后,调用addressRepository。findDistinctCity()将返回不同的城市名称。

Github上提供了一个示例应用程序供查看。以mvn clean test的身份运行集成测试,以验证方法。

 类似资料:
  • 问题内容: 我想创建一个(或一组)所有出现在python列表中的唯一值的列表。我有这样的事情: 我想要以下内容: 我知道对于字符串列表,您只能使用set(aList),但是我无法弄清楚如何在列表列表中解决此问题,因为set(aList)会向我显示错误消息 我该如何解决? 问题答案:

  • 问题内容: 我想从以下列表中获取唯一值: 我需要的输出是: 此代码有效: 我应该使用更好的解决方案吗? 问题答案: 首先正确声明你的列表,以逗号分隔。你可以通过将列表转换为一组来获得唯一值。 如果进一步将其用作列表,则应执行以下操作将其转换回列表: 另一种可能(可能更快)的可能性是从头开始使用集合而不是列表。然后你的代码应为: 正如已经指出的那样,集合不保持原始顺序。如果需要,则应查找有序集合实现

  • 本文向大家介绍检查一列以获取MySQL中的唯一值,包括了检查一列以获取MySQL中的唯一值的使用技巧和注意事项,需要的朋友参考一下 您可以为此使用子查询。让我们首先创建一个演示表 使用insert命令在表中插入一些记录。查询如下- 使用select语句显示表中的所有记录。查询如下- 输出如下 这是检查列唯一值的查询 输出如下

  • 问题内容: 我有一个看起来像这样的列表列表: 删除重复列表的最佳方法是什么?使用上面的示例,我正在寻找会产生这种情况的代码: 我最初以为我可以使用,但这似乎不适用于列表列表。我还看到了一个使用的示例,但是代码对我来说并不完全清楚。谢谢您的帮助! 问题答案: uniq_animal_groups = set(map(tuple, animal_groups)) 尽管您将得到一组元组而不是一组列表,但

  • 问题内容: 我需要确定一个唯一的数字数组。我在互联网上找到了下面的代码片段,并且在数组中包含零之前,它都可以正常工作。我在Stack Overflow的这里找到了另一个脚本,看起来几乎完全一样,但是它不会失败。 因此,为了帮助我学习,有人可以帮助我确定原型脚本出了什么问题吗? 问题答案: 使用 JavaScript 1.6 / ECMAScript 5, 您可以通过以下方式使用Array 的本机方

  • 问题内容: jQuery.unique允许您获取数组的唯一元素,但是文档说该函数主要供内部使用,并且仅对DOM元素起作用。另一个SO响应说该函数可以在数字上使用,但是此用例不一定是将来的证明,因为在文档中未明确说明。 鉴于此,是否存在“标准” jQuery函数,用于仅访问数组中的唯一值(特别是整数之类的基元)?(显然,我们可以使用函数构造一个循环,但是我们是jQuery的新手,并且想知道是否为此使