首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Croud Repository中找到最后10个具体列不同的实体?

如何在Croud Repository中找到最后10个具体列不同的实体?
EN

Stack Overflow用户
提问于 2018-08-02 01:15:47
回答 3查看 70关注 0票数 0

我正在Spring Boot2和Croud Repository上开发一个后端应用程序。

我有一个名为MoneyTransfer的表,表中有名为customerId和firmId的列。

我需要得到最后10个不同的公司,客户转账。

目前,我获取用户所有的转账并对其进行过滤。然而,这种方法没有意义,因为我让数据库中的所有元素查找最后10个元素。它可能会导致性能问题。

代码语言:javascript
复制
fun getList(customerId: String) {
   var list = mutableListOf<MoneyTransfer>()
   moneyTransferRepository.findByCustomerId(customerId).forEach {
      if (list.find(elem -> it.firmId == elem.firmId) == null) {
        list.add(it)
      } 
      if (list.size == 10) {
          return@forEach
      }
   }
   return list
}

您是否有任何有效的解决方案,让我得到最后10个不同的firmId,而不是所有的数据库行?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51638908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档