您也可以通过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(","));例:
SELECt id FROM User WHERe id in (2,3,1) ORDER BY FIND_IN_SET(id,"2,3,1");
结果:
+----+| id |+----+| 2 || 3 || 1 |+----+



