我正在Spring Boot2和Croud Repository上开发一个后端应用程序。
我有一个名为MoneyTransfer的表,表中有名为customerId和firmId的列。
我需要得到最后10个不同的公司,客户转账。
目前,我获取用户所有的转账并对其进行过滤。然而,这种方法没有意义,因为我让数据库中的所有元素查找最后10个元素。它可能会导致性能问题。
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,而不是所有的数据库行?
https://stackoverflow.com/questions/51638908
复制相似问题