spring-boot - 没有 orderBy 的 Spring Boot CRUD findall:顺序可预测吗?
问题描述
由如下所示的 CRUD 存储库方法返回的列表是否具有可预测的顺序?
List<UserProfile> findAllByGroupKey (String groupKey);
数据库是 MySQL 5,Spring Boot 版本是 2.2.7。我希望列表中项目的顺序与它们存储在数据库中的顺序相同,但我不确定省略“orderBy”是否足以实现此结果。我找不到任何关于此的文档。
解决方案
我用指定的配置(MySQL 5 和 Spring Boot 2.2.7)做了一些测试。答案肯定是“不”,至少如果索引不是一个渐进数字(在我的情况下它是一个 UUID)。
根据输入数据的方式,顺序是无法预测的。
以与输入数据库相同的顺序获取行的唯一方法是添加一个额外的排序变量(例如序列号或时间戳),并根据该变量使用“orderBy”显式对行进行排序。
推荐阅读
- android - 在android中将字节数组转换为位图时面临问题
- interface - java.util 包中的哪个功能接口具有无参数和 void 返回类型的方法?
- java - 在骆驼路线中,使用 exec 组件使用 grep 制作 curl 但使用 ${HOSTNAME} 的 grep 不起作用
- c# - 从服务器检索远程文本并显示在面板中
- html - 如何使 Facebook Embedded 评论框在 div 中可滚动?
- node.js - 在Nodejs中将base64数据保存为具有透明度的PNG
- oracle - Liquibase 假设 '--' 作为评论的开始,即使它在引号内作为我的查询的一部分
- c - 通过指针理解间接并获取地址
- javascript - 如何在从数组加载元素的div上的鼠标悬停时显示名称
- python - Matplotlib 空白图(应该有子图)