我使用org.springframework.data.domain.Pageable來從前端獲取分頁和排序規則。我需要按名字對條目進行排序,乍一看,現在一切作業都很正常。但是,系統給出的字符I在字符f之前。看起來好像是按照表ASCII進行的排序很順利。
011
阿爾法
文本
前面
人
請求看起來像...&sort=title,desc。我得到一個分頁物件并把它放在DB的一個查詢中。
return mongoOperations.find(Query.query(c criteria).with(pageable), Book.class) 。
uj5u.com熱心網友回復:
這段代碼是按預期作業的,它按名字大小寫進行排序。 你可以使用下面的代碼改變排序演算法,例如:
Sort. Order order = new Sort. Order(Direction.ASC, "title").ignoreCase()。
Pageable paging = PageRequest.of(page, pageSize, Sort.by(order))
Page<Video> findAll = videoRepo.findAll(paging)。
你可以使用類似這樣的東西來改變你從請求中得到的分頁,并使其不區分大小寫:
Pageable paging = ... //從你的請求中。
List<Order> caseInsensitiveOrders = paging.getSort().get().map(Order::ignoreCase).collectors.toList()。
Pageable newPaging = PageRequest.of(page, pageSize, Sort.by(caseInsensitiveOrders)) 。
Page<Video> findAll = videoRepo.findAll(newPaging)。
關鍵是使用order.ignoreCase();
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/310873.html
標籤:
上一篇:您好,我正在嘗試撰寫一種方法來復制所有元音,但前提是它們是獨立的。例如“美麗”將回傳“美麗”
下一篇:如何將字符推入字串堆疊?
