如何在TopLink中的readAllQuery中按顺序使用条件“NULLS LAST”

时间:2011-11-08 13:04:03

标签: java toplink

您需要在按顺序使用NULLS LAST子句的toplink中进行查询。基本上这是我想做的查询:

select * from VW_SEGNA_PRZZ_DEP_INFO where ente_cd = '7316' and refr_cd = '000070434' order by dp_dt_timestamp_modifica DESC NULLS LAST;

这是我的代码:

        ReadAllQuery query = new ReadAllQuery();
        query.setReferenceClass(VwSegnaPrzzDepInfo.class);

        Expression exp = new ExpressionBuilder();

        exp = 
exp.and(new ExpressionBuilder().get("enteCd").equal(getEnteCd()));
        exp = 
exp.and(new ExpressionBuilder().get("refrCd").equal(spdf.getRefrCd()));

        query.setSelectionCriteria(exp);
        query.addDescendingOrdering("dpDtTimestampModifica");

我不知道如何插入NULLS LAST子句。我使用toplink 3.0和Oracle 9i作为数据库。

1 个答案:

答案 0 :(得分:0)

你可以使用,

query.addOrdering(表达式)

要创建表达式,您需要创建自己的ExpressionOperator,将自身打印为“DESC NULLS LAST”(以desc运算符为例)。