在我的JSF数据表中,我实现了延迟加载,当我对记录进行分页时,执行下一组记录需要大约4或5秒的时间,实际上执行结果需要不到一秒的时间.
这已经发生在我实现它的方式,不知道我怎么能解决这个问题.
扩展LazyDataModel的DataModel类
@Override
public List<Request> load(int startingAt, int maxPerPage, String sortField,
SortOrder sortOrder, Map<String, String> filters)
{
requestList = requestService.getRequest(startingAt, maxPerPage,
sortField, sortOrder, filters);
this.setRowCount(requestList.size());
if (requestList.size() > maxPerPage)
{
System.out.println("executing");
return requestList.subList(startingAt, startingAt + maxPerPage);
}
else
{
System.out.println("executing else ");
return requestList;
}
return requestList;
}
Run Code Online (Sandbox Code Playgroud)
并在dao类
@Override
public List<Request> getRequest(int startingAt, int maxPerPage,
String sortField, SortOrder sortOrder, Map<String, String> filters)
{
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(
Request.class);
criteria.addOrder(Order.desc("requestNo"));
for (Map.Entry<String, String> entry : filters.entrySet())
{
if (entry.getValue() …Run Code Online (Sandbox Code Playgroud)