相关疑难解决方法(0)

如何使用延迟加载和分页查询Primefaces dataTable的数据

在我的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)

pagination hibernate jpa lazy-loading primefaces

22
推荐指数
1
解决办法
3万
查看次数

标签 统计

hibernate ×1

jpa ×1

lazy-loading ×1

pagination ×1

primefaces ×1