Sorting JSF2 Richfaces 4.3.1,在使用ExtendedDataModel和Arrangeable时多次调用walk方法

Sorting JSF2 Richfaces 4.3.1,在使用ExtendedDataModel和Arrangeable时多次调用walk方法,sorting,jsf-2,richfaces,richdatatable,Sorting,Jsf 2,Richfaces,Richdatatable,我正在尝试加载带有分页和排序的数据表。使用ExtendedDataModel和Arrangeable来实现这一点,它运行良好。 然后我添加了阶段侦听器来检查行为,并注意到 1。分页工作正常,只命中一个DB。 2。但是,当排序DB Hit发生两次时,第一次在第2阶段,第二次在第6阶段 还要注意的是,如果我没有immediate=“true”,那么DB命中在第2、3、4和6阶段分别发生4次 我不知道为什么会这样。你能帮个忙吗 xhtml片段 <rich:co

我正在尝试加载带有分页和排序的数据表。使用ExtendedDataModel和Arrangeable来实现这一点,它运行良好。 然后我添加了阶段侦听器来检查行为,并注意到

1。分页工作正常,只命中一个DB。
2。但是,当排序DB Hit发生两次时,第一次在第2阶段,第二次在第6阶段

还要注意的是,如果我没有immediate=“true”,那么DB命中在第2、3、4和6阶段分别发生4次

我不知道为什么会这样。你能帮个忙吗

xhtml片段

                <rich:column sortBy="#{item.busName}" sortOrder="#{sortBean.order}">
                    <f:facet name="header">
                        <a4j:commandLink value="BUSINESS NAME" action="#{sortBean.sortByBus}" immediate="true"
                             render="riskData" />
                    </f:facet>
                    <h:outputText value="#{item.busName}">
                    </h:outputText>
                </rich:column>

                <rich:column sortBy="#{item.regionName}" sortOrder="#{sortBean.orderRegion}">
                    <f:facet name="header">
                        <a4j:commandLink value="REGION NAME"
                             action="#{sortBean.sortByRegion}"  immediate="true"
                             render="riskData" />
                    </f:facet>
                    <h:outputText value="#{item.regionName}">
                    </h:outputText>
                </rich:column>

----------带有sysout的阶段侦听器日志---------- 具有未排序值的页面初始视图,只有一次DB命中以获取数据#####
开始阶段还原\u视图1
结束阶段还原\u视图1
开始阶段渲染_响应6
获取排序->订单业务->未排序
获取排序->订单区域->未排序
获取排序->订单策略->未排序
排列不可用
总计数DB命中率
数据创建
获取排序->订单业务->未排序
获取排序->订单区域->未排序
获取排序->订单策略->未排序
排列不可用
步行->开始
数据库命中率
第一个->最后一个->3
排序之前->[com.entity。BusItem@514cef,com.entity。BusItem@1921eac,com.entity。BusItem@1bcdc8]
排序列表前
排序后->[com.entity。BusItem@514cef,com.entity。BusItem@1921eac,com.entity。BusItem@1bcdc8]
步行->结束
结束阶段渲染_响应6


BusinessName未排序的升序排序,在第2阶段中有两个DB命中->第1个,在第6阶段中有第2个 开始阶段还原\u视图1
结束阶段还原\u视图1
开始阶段应用请求值2
获取排序->订单业务->未排序
获取排序->订单区域->未排序
获取排序->订单策略->未排序
排列不可用
步行->开始
数据库命中率
第一个->最后一个->3
排序之前->[com.entity。BusItem@514cef,com.entity。BusItem@1921eac,com.entity。BusItem@1bcdc8]
排序列表前
排序后->[com.entity。BusItem@514cef,com.entity。BusItem@1921eac,com.entity。BusItem@1bcdc8]
步行->结束
排序业务->切换->降序到升序
设置排序->订单业务->升序
设置排序->订单策略->未排序
设置排序->订单区域->未排序
结束阶段应用请求值2
开始阶段渲染_响应6
获取排序->订单业务->升序
获取排序->订单区域->未排序
获取排序->订单策略->未排序
安排可用时间
/test.xhtml@53,74 sortBy=“#{item.busName}”升序
获取排序->订单业务->升序
获取排序->订单区域->未排序
获取排序->订单策略->未排序
安排可用时间
/test.xhtml@53,74 sortBy=“#{item.busName}”升序
步行->开始
数据库命中率
第一个->最后一个->3
排序之前->[com.entity。BusItem@514cef,com.entity。BusItem@1921eac,com.entity。BusItem@1bcdc8]
排序列表前
排序后->[com.entity。BusItem@1921eac,com.entity。BusItem@1bcdc8,com.entity。BusItem@514cef]
步行->结束
结束阶段渲染_响应6

BusinessName升序到降序排序->在第2阶段第一次命中两个DB,在第6阶段第二次命中两个DB 开始阶段还原\u视图1
结束阶段还原\u视图1
开始阶段应用请求值2
获取排序->订单业务->升序
获取排序->订单区域->未排序
获取排序->订单策略->未排序
安排可用时间
/test.xhtml@53,74 sortBy=“#{item.busName}”升序
步行->开始
数据库命中率
第一个->最后一个->3
排序之前->[com.entity。BusItem@1921eac,com.entity。BusItem@1bcdc8,com.entity。BusItem@514cef]
排序列表前
排序后->[com.entity。BusItem@1921eac,com.entity。BusItem@1bcdc8,com.entity。BusItem@514cef]
步行->结束
排序业务->切换->升序到降序
设置排序->订单业务->降序
设置排序->订单策略->未排序
设置排序->订单区域->未排序
结束阶段应用请求值2
开始阶段渲染_响应6
获取排序->订单业务->降序
获取排序->订单区域->未排序
获取排序->订单策略->未排序
安排可用时间
/test.xhtml@53,74 sortBy=“#{item.busName}”递减
获取排序->订单业务->降序
获取排序->订单区域->未排序
获取排序->订单策略->未排序
安排可用时间
/test.xhtml@53,74 sortBy=“#{item.busName}”递减
步行->开始
数据库命中率
第一个->最后一个->3
排序之前->[com.entity。BusItem@1921eac,com.entity。BusItem@1bcdc8,com.entity。BusItem@514cef]
排序列表前
排序后->[com.entity。BusItem@514cef,com.entity。BusItem@1921eac,com.entity。BusItem@1bcdc8]
步行->结束
结束阶段渲染_响应6

当删除Immediate,然后对业务名称进行排序时,在第2、3、4和6阶段分别命中fourDB 开始阶段还原\u视图1
结束阶段还原\u视图1
开始阶段应用请求值2
获取排序->订单业务->未排序
获取排序->订单区域->未排序
获取排序->订单策略->未排序
排列不可用
步行->开始
数据库命中率
第一个->最后一个->3
排序之前->[com.entity。BusItem@514cef,com.entity。BusItem@1921eac,com.entity。BusItem@1bcdc8]
排序列表前
排序后->[com.entity。