首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Openfaces:在datatable过滤器中使用hibernateCriterionBuilder

Openfaces:在datatable过滤器中使用hibernateCriterionBuilder
EN

Stack Overflow用户
提问于 2011-01-17 15:47:23
回答 1查看 440关注 0票数 0

我目前正在尝试构建一个页面,该页面将有一个datatable,该数据表允许根据为每一列设置的标准进行筛选。根据文档,openfaces hibernateCriterionBuilder是使用hibernate实现此操作的最简单方法。构建器用于排序很好,但是一旦传递筛选条件,它就会抛出一个错误:

严厉: javax.el.ELException: /tools/orders/orderPicker.xhtml @24,168 value="#{orderPicker.orders}":org.hibernate.QueryException:未能解析属性: /tools/orders/orderPicker of: pojo.Orders

据我所知,这是部分hibernateCriterionBuilder未能正确解析过滤数据,这使我怀疑我做错了什么。对构建者的调用如下所示:

代码语言:javascript
复制
    Session session = resources.HibernateUtil.getSessionFactory().openSession();
    Criteria criteria = HibernateCriterionBuilder.buildCriteria(session, pojo.Orders.class);
    orders = criteria.list();

下表:

代码语言:javascript
复制
            <o:dataTable value="#{orderPicker.orders}" var="item" customDataProviding="true" totalRowCount="#{orderPicker.rowCount}" pageSize="10">
                <o:column sortingExpression="#{item.distId}" id="distId"  >
                    <f:facet name="header">
                        distId
                    </f:facet>
                    <f:facet name="subHeader">
                        <o:dropDownFieldFilter condition="beginsWith" />
                    </f:facet>
                    <h:outputText value="#{item.distId}" />
                </o:column>
            </o:dataTable>

任何帮助或洞察力都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-17 17:12:07

我很抱歉回答了我自己的问题,但我发现自己做错了什么。当使用带有筛选器的customDataProver时,您需要定义过滤器的表达式属性,以便与要映射到的hibernate属性相等。

改变

代码语言:javascript
复制
<o:dropDownFieldFilter condition="beginsWith" />

代码语言:javascript
复制
<o:dropDownFieldFilter condition="beginsWith" expression="distId" />

一切都很顺利。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4715037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档