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

时间:2013-03-06 03:09:17

标签: java hibernate list orm paging

假设我有一份水果清单(让我们假设这些水果在数据库中)

    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当然它会加载整个水果列表,并假设我们有一千个水果记录,因此它将加载和查询这些水果和它会/影响性能,

现在我的问题是如何在获得这些水果时在arraylist中添加限制或偏移量?我目前正在为此加分。

3 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:0)

如果使用hql查询获取以0开头的前10条记录,只需将limit 0, 10添加到hql 或者在setMaxResults上使用setFirstResultQuery方法。

答案 2 :(得分:0)

添加限制或设置start和max结果将解决问题,如果有人想从部分中的表中获取记录,但是如果水果列表是某个对象(如currentStock)的一部分,我们想要部分加载此列表然后如何这些解决方案将起作用。