假设我有一个水果列表(假设这些水果在数据库中)
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
当然,它会加载整个水果列表,并假设我们有一千条水果记录,因此它将加载和查询这些水果,并且/给出性能影响,
现在我的问题是,在获取这些水果时如何在数组列表中添加限制或偏移量?我目前正在为此做一个分页。
在您的代码中,您手动将水果添加到列表中,这些记录已经在内存中,因此在获取这些水果时添加限制没有多大意义。
但是如果你使用 Hibernate 从数据库中检索记录,你可以这样做:
Query q = session.createQuery("FROM table");
q.setFirstResult(firstResult);
q.setMaxResults(maxResults);
如果使用hql查询获取以0开头的前10条记录,只需在hql中添加
limit 0, 10
即可。setMaxResults
上使用方法 setFirstResult
和 Query
。
如果有人想从表中部分获取记录,添加限制或设置开始和最大结果将解决问题,但是如果水果列表是某些对象(如 currentStock)的一部分,并且我们想部分加载此列表,那么这些解决方案将如何工作。