0

現在、各列に設定された基準に基づいてフィルタリングできるデータテーブルを持つページを作成しようとしています。ドキュメントによると、openfaces hibernateCriterionBuilder は、hibernate を使用してこれを実現する最も簡単な方法です。ビルダーは並べ替えには問題なく動作しますが、フィルター条件が渡されるとすぐにエラーがスローされます。

SEVERE: javax.el.E​​LException: /tools/orders/orderPicker.xhtml @24,168 value="#{orderPicker.orders}": org.hibernate.QueryException: プロパティを解決できませんでした: /tools/orders/orderPicker の: pojo。注文

私が知る限り、これは hibernateCriterionBuilder の一部がフィルタリング データを適切に解析できていないため、何か間違ったことをしていると思われます。ビルダーへの呼び出しは次のようになります。

    Session session = resources.HibernateUtil.getSessionFactory().openSession();
    Criteria criteria = HibernateCriterionBuilder.buildCriteria(session, pojo.Orders.class);
    orders = criteria.list();

次の表から:

            <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>

どんな助けや洞察もいただければ幸いです。

4

1 に答える 1

0

自分の質問に答えて申し訳ありませんが、何が間違っていたのかを理解しました。フィルターで customDataProver を使用する場合、マップ先の hibernate プロパティと等しくなるようにフィルターの式属性を定義する必要があります。

変化

<o:dropDownFieldFilter condition="beginsWith" />

<o:dropDownFieldFilter condition="beginsWith" expression="distId" />

すべてがうまく機能しました。

于 2011-01-17T17:12:07.233 に答える