并在apache-cayenne中加入Query问题

时间:2013-07-02 15:00:53

标签: apache-cayenne

我在apache cayenne中编写表达式查询时遇到问题,无法从数据库中检索记录。

我的要求是从特定UserDn创建的表中检索订单,其中Order Status未完成。它没有按预期给出结果。

我使用了以下查询,但它只给出了UserDn创建的结果,忽略了“订单状态未完成”和表达式。

Expression expression = ExpressionFactory.matchExp(SAPOrder.CREATED_BY_USER_DN_PROPERTY,  userDN );
expression.andExp(ExpressionFactory.noMatchExp(SAPOrder.ORDER_STATUS_PROPERTY,  "Completed"));
SelectQuery query = new SelectQuery(SAPOrder.class, expression);

1 个答案:

答案 0 :(得分:2)

您忽略了'andExp'和其他类似的Expression方法未修改原始对象并且正在创建NEW表达式对象的事实。所以你需要改变的是:

expression = 
   expression.andExp(ExpressionFactory.noMatchExp(SAPOrder.ORDER_STATUS_PROPERTY,  "Completed"));