如何保持 Spring Data JPA 或 Hibernate 中“in”子句中提供的顺序[重复]

2023-11-26

我有一个非常简单的查询,它根据“in”子句检索值。作为“in”参数出现的列表已适当排序。

Query :

@Query(value = "select i from ItemEntity i where i.secondaryId in :ids")
List<ItemEntity> itemsIn(@Param("ids") List<UUID> ids, Pageable pageable);

我需要以与以下相同的方式对结果进行排序List<UUID> ids,是否可以在没有普通 sql 的情况下实现这一目标,而只能借助Spring Data and/or Hibernate.


您也可以通过 JPA 做到这一点,但您必须按照您想要的顺序创建一个逗号分隔的 id 列表。根据您的情况,您可以保留相同的订单。

@Query(value = "select i from ItemEntity i where i.secondaryId in :ids 
       order by FIND_IN_SET(i.secondaryId, :idStr)")
List<ItemEntity> itemsIn(@Param("ids") List<UUID> ids, @Param("idStr") String idStr);

要创建逗号分隔列表,您可以使用 java 8 流:

ids.stream().map(Object::toString).collect(Collectors.joining(","));

Example:

SELECT id FROM User WHERE id in (2,3,1) 
ORDER BY FIND_IN_SET(id,"2,3,1");

Result:

+----+
| id |
+----+
|  2 |
|  3 |
|  1 |
+----+

还有一种使用 JPQL 的替代方案:

You can use ,,FIELD'' instead of ,,FIND_IN_SET ''.

您可以在这里找到示例:https://stackoverflow.com/a/65943906/15101302

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何保持 Spring Data JPA 或 Hibernate 中“in”子句中提供的顺序[重复] 的相关文章

  • 为什么 JTables 使 TableModel 在呈现时不可序列化?

    所以最近我正在开发一个工具 供我们配置某些应用程序 它不需要是什么真正令人敬畏的东西 只是一个具有一些 SQL 脚本生成功能并创建几个 XML 文件的基本工具 在此期间 我使用自己的 AbstractTableModel 实现创建了一系列
  • 使用 LinkedList 实现下一个和上一个按钮

    这可能是一个愚蠢的问题 但我很难思考清楚 我编写了一个使用 LinkedList 来移动加载的 MIDI 乐器的方法 我想制作一个下一个和一个上一个按钮 以便每次单击该按钮时都会遍历 LinkedList 如果我硬编码itr next or
  • .properties 中的通配符

    是否存在任何方法 我可以将通配符添加到属性文件中 并且具有所有含义 例如a b c d lalalala 或为所有以结尾的内容设置一个正则表达式a b c anything 普通的 Java 属性文件无法处理这个问题 不 请记住 它实际上是
  • 动态选择端口号?

    在 Java 中 我需要获取端口号以在同一程序的多个实例之间进行通信 现在 我可以简单地选择一些固定的数字并使用它 但我想知道是否有一种方法可以动态选择端口号 这样我就不必打扰我的用户设置端口号 这是我的一个想法 其工作原理如下 有一个固定
  • 如何在java中将一个数组列表替换为另一个不同大小的数组列表

    我有两个大小不同的数组列表 如何从此替换 ArrayList
  • HSQL - 识别打开连接的数量

    我正在使用嵌入式 HSQL 数据库服务器 有什么方法可以识别活动打开连接的数量吗 Yes SELECT COUNT FROM INFORMATION SCHEMA SYSTEM SESSIONS
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • Java 公历日历更改时区

    我正在尝试设置 HOUR OF DAY 字段并更改 GregorianCalendar 日期对象的时区 GregorianCalendar date new GregorianCalendar TimeZone getTimeZone GM
  • 没有 Spring 的自定义 Prometheus 指标

    我需要为 Web 应用程序提供自定义指标 问题是我不能使用 Spring 但我必须使用 jax rs 端点 要求非常简单 想象一下 您有一个包含键值对的映射 其中键是指标名称 值是一个简单的整数 它是一个计数器 代码会是这样的 public
  • 检测并缩短字符串中的所有网址

    假设我有一条字符串消息 您应该将 file zip 上传到http google com extremelylonglink zip http google com extremelylonglink zip not https stack
  • 如何对不同的参数类型使用相同的java方法?

    我的问题 我有 2 个已定义的记录 创建对象请求 更新对象请求 必须通过实用方法进行验证 由于这两个对象具有相同的字段 因此可以对这两种类型应用相同的验证方法 现在我只是使用两种方法进行重载 但它很冗长 public record Crea
  • 如何在谷歌地图android上显示多个标记

    我想在谷歌地图android上显示带有多个标记的位置 问题是当我运行我的应用程序时 它只显示一个位置 标记 这是我的代码 public class koordinatTask extends AsyncTask
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • 获取文件的总大小(以字节为单位)[重复]

    这个问题在这里已经有答案了 可能的重复 java 高效获取文件大小 https stackoverflow com questions 116574 java get file size efficiently 我有一个名为 filenam
  • 如何使用 jUnit 将测试用例添加到套件中?

    我有 2 个测试类 都扩展了TestCase 每个类都包含一堆针对我的程序运行的单独测试 如何将这两个类 以及它们拥有的所有测试 作为同一套件的一部分执行 我正在使用 jUnit 4 8 在 jUnit4 中你有这样的东西 RunWith
  • 专门针对 JSP 的测试驱动开发

    在理解 TDD 到底是什么之前 我就已经开始编写测试驱动的代码了 在没有实现的情况下调用函数和类可以帮助我以更快 更有效的方式理解和构建我的应用程序 所以我非常习惯编写代码 gt 编译它 gt 看到它失败 gt 通过构建其实现来修复它的过程
  • Opencv Java 灰度

    我编写了以下程序 尝试从彩色转换为灰度 Mat newImage Imgcodecs imread q1 jpg Mat image new Mat new Size newImage cols newImage rows CvType C
  • 找不到符号 NOTIFICATION_SERVICE?

    package com test app import android app Notification import android app NotificationManager import android app PendingIn
  • 长轮询会冻结浏览器并阻止其他 ajax 请求

    我正在尝试在我的中实现长轮询Spring MVC Web 应用程序 http static springsource org spring docs 2 0 x reference mvc html但在 4 5 个连续 AJAX 请求后它会
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类

随机推荐

  • 为什么 jQuery 不自动附加 JSONP 回调?

    The getJSON 文档指出 如果指定的 URL 位于远程服务器上 则该请求将被视为 JSONP 请参阅 的讨论jsonp ajax 中的数据类型以获取更多详细信息 The ajax 的文档jsonp数据类型状态 强调我的 使用 JSO
  • 如何引用命名 Excel 表格中的最后一行?

    我目前正在尝试格式化表格的一列 以便如果另一列中存在任何匹配的名称 则原始列中的单元格将突出显示 这是我的意思的一个例子 第 10 行具有 M6A1 的先决条件 但是 第 11 行的名称为 M6A1 我希望第 10 行的 M6A1 突出显示
  • WCF 中的 mexTcpBinding - IMetadataExchange 错误

    我想让 WCF over TCP 服务正常工作 我在修改自己的项目时遇到了一些问题 因此我想从 VS2008 中包含的 基本 WCF 模板开始 这是初始的 WCF App config 当我运行该服务时 WCF 测试客户端可以正常使用它
  • RODBC 在 sqlQuery() 的连接中使用 Data.Frame

    有没有办法使用 sqlQuery 在 JOIN 条件下使用 data frame 我正在使用 RODBC 连接到 SQL Server 并且需要根据 R 中已有的 data frame 限制初始结果集 因此它仅返回 200 000 条记录中
  • 是否可以以某种方式在表格行周围设置边框?

    我试图在特定的表格行周围添加边框 当鼠标进入该行时 它会改变它的颜色 但是 除非使用 否则我根本看不到边框border collapse collapse 但我必须避免边框折叠 因为在某些情况下 边框在左侧 右侧和底部可见 但在顶部不可见
  • 如何防止 NUL 字节出现在我的 GIT 存储库和提交消息中?

    我有一个相对干净的 Mac OS X Mavericks 10 9 安装 运行 git 版本 1 8 5 1 我的文件位于已安装的 SMB 共享上 并且我无法再正常使用我的 GIT 存储库 因为 NULL 字节 0 不断出现在我的所有版本控
  • 如何用线性无关列在矩阵中编写线性相关列?

    我有一个很大的 mxn 矩阵 并且我已经确定了线性相关的列 但是 我想知道 R 中是否有一种方法可以根据线性独立列来编写线性相关列 由于它是一个很大的矩阵 因此不可能基于检查来完成 这是我拥有的矩阵类型的玩具示例 gt mat lt mat
  • F# 在同一项目的另一个文件中定义/使用类型/模块

    希望这将是一件容易的事 我有一个 F 项目 最新的 F CTP 其中包含两个文件 Program fs Stack fs 在 Stack fs 中 我有一个简单的命名空间和类型定义 Stack fs namespace Col type S
  • 执行库(pkg)后执行包中的函数

    您好 我有一个包 其中包含一个使用 gWidgets 制作 gui 的函数 有没有办法让我在包加载时执行该函数 以便立即出现界面 我想是这样的 OnAttach lt function libname pkgname gui 会起作用 但我
  • C++ ostream 输出操作

    基本上它应该以这种格式列出所有矢量坐标 x y z 但目前它确实像这样 x y z 最简单的方法是在 for 循环中使用 if 但是我可以从 out 变量中减去一小段字符串吗 my code template
  • 为什么我不能设置多个cookie

    我正在尝试设置多个 cookie 但它不起作用 if type ngx header Set Cookie table then ngx header Set Cookie end table insert ngx header Set C
  • 安卓6蓝牙

    我升级到 Android 6 我使用蓝牙的应用程序无法与这个新的 API 版本配合使用 Play 商店上的应用程序也有同样的问题 蓝牙 spp 工具专业版 查看蓝牙是否正常工作的好应用程序 但无法发现设备 问题似乎出在蓝牙发现中 Bluet
  • Chrome 硒中内存不足 - 没有抛出错误[重复]

    这个问题在这里已经有答案了 我有一个使用 Chrome 的 selenium 脚本 它运行了很长时间 最终 浏览器内存不足 我收到 错误代码 内存不足 页面 问题是 Python 中没有抛出错误 所以我不知道如何检测错误何时发生 代码最终会
  • 为什么 __builtin_popcount 比我自己的位计数函数慢?

    在编写了自己的位计数例程后 我偶然发现了 gcc 的 builtin popcount 但是当我切换到 builtin popcount 时 我的软件实际上运行得更慢 我在 Unbutu 上使用 Intel Core i3 4130T CP
  • 在 android Kitkat 中找不到 android.support.v4.content.FileProvider 类

    我在用FileProvider在我的应用程序中 像往常一样我宣布
  • 无法从“werkzeug”导入名称“secure_filename”

    我试图从 werkzeug utils 导入 secure filename 但出现错误 它在我的基本虚拟环境下运行良好 code Flask packages from flask import Flask render template
  • {{#each}} 内的车把助手

    我尝试在 a 中调用已注册的车把助手 each 环形 不幸的是 Ember js 会抱怨 因为它试图将助手解析为控制器的属性而不是助手 Handlebars registerHelper testHelper function name r
  • 网址的字符限制是多少[重复]

    这个问题在这里已经有答案了 URL 的字符限制是多少 尤其是当 URL 由表单的 GET 方法形成时 根据微软的说法 现在是 2048 年 自从他们发明了互联网 以及光明 黑暗和 Linux 以来 他们是对的 或 由于 IE 强制使用较低的
  • 如何在android中以编程方式录制特定声音的视频?

    我已经创建了在我的应用程序中录制视频的功能 当我播放一首歌曲时 该歌曲会与视频一起录制并创建一个视频文件 类似于 dubshmash 应用程序 现在我面临的问题是其他声音 例如附近的声音 也会被记录下来 歌曲文件录制在视频录制屏幕中 当视频
  • 如何保持 Spring Data JPA 或 Hibernate 中“in”子句中提供的顺序[重复]

    这个问题在这里已经有答案了 我有一个非常简单的查询 它根据 in 子句检索值 作为 in 参数出现的列表已适当排序 Query Query value select i from ItemEntity i where i secondary