Java Hibernate 从某个索引或偏移量获取列表。

问题描述 投票:0回答:3

假设我有一个水果列表(假设这些水果在数据库中)

    myList.add('Apple');

    myList.add('Mango');

    myList.add('Guava');

    myList.add('Tomato');

    myList.add('Dragon Fruit');

    myList.add('Orange');
   //More Fruits here

假设在我的域或数据访问对象中我有这个

   public List<String> listOfFruits(){
        return myList;
    }

现在假设我有 1000 个水果,我调用了

listOfFruits
当然,它会加载整个水果列表,并假设我们有一千条水果记录,因此它将加载和查询这些水果,并且/给出性能影响,

现在我的问题是,在获取这些水果时如何在数组列表中添加限制或偏移量?我目前正在为此做一个分页。

java list hibernate orm pagination
3个回答
2
投票

在您的代码中,您手动将水果添加到列表中,这些记录已经在内存中,因此在获取这些水果时添加限制没有多大意义。

但是如果你使用 Hibernate 从数据库中检索记录,你可以这样做:

Query q = session.createQuery("FROM table");
q.setFirstResult(firstResult);
q.setMaxResults(maxResults);

0
投票

如果使用hql查询获取以0开头的前10条记录,只需在hql中添加

limit 0, 10
即可。
或者在
setMaxResults
上使用方法
setFirstResult
Query


0
投票

如果有人想从表中部分获取记录,添加限制或设置开始和最大结果将解决问题,但是如果水果列表是某些对象(如 currentStock)的一部分,并且我们想部分加载此列表,那么这些解决方案将如何工作。

© www.soinside.com 2019 - 2024. All rights reserved.