gpt4 book ai didi

java - 如何按标识符或主键的顺序加载多个 Hibernate 实体

转载 作者:太空宇宙 更新时间:2023-11-04 12:44:07 27 4
gpt4 key购买 nike

我们如何使用 Hibernate 按照提供给 Hibernate 查询的 Pks 列表的顺序加载多个实体?

在下面的代码中,列表输出的顺序是升序,而不是参数中提供 Pks 的顺序

Criteria criteria = s.createCriteria(entityClass).add(Restrictions.in(idPropertyName, pks));

List list = criteria.list();

最佳答案

您获取它们,然后使用比较器对它们进行排序,比较器比较列表中每个实体的索引。

例如:

Map<Long, Integer> indexById = new HashMap<>();
for (int i = 0; i < pks.size(); i++) {
indexById.put(pks.get(i), i);
}

List<MyEntity> entities = seachByIds(pks);

entities.sort(Comparator.comparing(entity -> indexById.get(entity.getId())));

关于java - 如何按标识符或主键的顺序加载多个 Hibernate 实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36516249/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com