gpt4 book ai didi

java - 当第一个实体是具有指定主键的实体之后的后续实体时,如何使用 JPA 获取列表

转载 作者:行者123 更新时间:2023-12-02 10:11:43 25 4
gpt4 key购买 nike

要使用 limit 获取列表表单 offset,我可以使用:

@Override
public List<Collection> getList(int offset, int limit) {
String SELECT_COLLECTIONS = "select collection from " + Collection.class.getName() + " collection";

TypedQuery<Collection> query = entityManager.createQuery(SELECT_COLLECTIONS, Collection.class);
return query.setFirstResult(offset).setMaxResults(limit).getResultList();
}

现在我拥有某个实体的主键,而不是偏移量。

如何获取 @ID 元素后面的元素后的列表?

示例:我的数据库中的实体有键 - a、b、c、d、e、f

我需要执行getList(b, 3)。实体的结果列表将具有键 - c、d、e

最佳答案

这行不通。对于当前数据,您可以与 rank() 一起 select 实体,查找指定 id 的 rank() 值,然后用它来查询以下数据(此函数是特定于供应商的,例如在 postgres、sql server 中可用)。但是您没有使用 order by,这使得结果排序未定义。在数据库中保存一些数据后,顺序可能会发生变化,结果也不会相同。

如果您可以使用id,那么您可以编写如下内容:

"select collection from " + Collection.class.getName() + " collection where collection.id > :id order by collection.id";

并传递一个参数id

关于java - 当第一个实体是具有指定主键的实体之后的后续实体时,如何使用 JPA 获取列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54959811/

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