Как использовать условие «NULLS LAST» в заказе с помощью readAllQuery в TopLink - PullRequest
0 голосов
/ 08 ноября 2011

Привет, нужно сделать запрос в toplink, который использует предложение NULLS LAST в порядке по. В основном это запрос, который я хотел бы сделать:

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 голосов
/ 15 ноября 2011

Вы можете использовать,

query.addOrdering (Expression)

Чтобы создать выражение, вам необходимо создать собственный ExpressionOperator, который печатает себя как «DESC NULLS LAST» (см.оператор desc в качестве примера).

...