假设我有一份水果清单(让我们假设这些水果在数据库中)
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中添加限制或偏移量?我目前正在为此加分。
答案 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
上使用setFirstResult
和Query
方法。
答案 2 :(得分:0)
添加限制或设置start和max结果将解决问题,如果有人想从部分中的表中获取记录,但是如果水果列表是某个对象(如currentStock)的一部分,我们想要部分加载此列表然后如何这些解决方案将起作用。