Критерии запроса нет заказа с использованием Hibernate - PullRequest
0 голосов
/ 23 февраля 2012

Я пытаюсь получить список сущностей с их порядком сбора по дате и времени, но я не получаю его.Это мой запрос:

trades = session.createCriteria(Trade.class)
    .createAlias("operations", "operations", CriteriaSpecification.INNER_JOIN)
    .add(Restrictions.between("operations.datetime", start, end))
    .addOrder(Order.asc("operations.datetime"))
    .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY)
    .list();

Согласно Hibernate это запросы:

select 
    this_.MUREX_ID as MUREX1_0_1_, 
    this_.PORTFOLIO as PORTFOLIO0_1_, 
    this_.TYPE as TYPE0_1_, 
    operations1_.ID as ID1_0_, 
    operations1_.COMENT as COMENT1_0_, 
    operations1_.DATETIME as DATETIME1_0_, 
    operations1_.GBO_ID as GBO4_1_0_, 
    operations1_.OPERATION as OPERATION1_0_, 
    operations1_.OPERATION_ID as OPERATION6_1_0_, 
    operations1_.OPICS_ID as OPICS7_1_0_, 
    operations1_.STATUS_GBO as STATUS8_1_0_, 
    operations1_.STATUS_MUREX as STATUS9_1_0_, 
    operations1_.MUREX_ID as MUREX10_1_0_ 
from 
    PGT_NY.T_PGT_NY_BLOTTER_TRADES_S this_, 
    PGT_NY.T_PGT_NY_BLOTTER_OPERATIONS_S operations1_ 
where 
    this_.MUREX_ID=operations1_.MUREX_ID and 
    operations1_.DATETIME between ? and ? 
order by operations1_.DATETIME asc

И:

select 
    operations0_.MUREX_ID as MUREX10_1_, 
    operations0_.ID as ID1_, 
    operations0_.ID as ID1_0_, 
    operations0_.COMENT as COMENT1_0_, 
    operations0_.DATETIME as DATETIME1_0_, 
    operations0_.GBO_ID as GBO4_1_0_, 
    operations0_.OPERATION as OPERATION1_0_, 
    operations0_.OPERATION_ID as OPERATION6_1_0_, 
    operations0_.OPICS_ID as OPICS7_1_0_, 
    operations0_.STATUS_GBO as STATUS8_1_0_, 
    operations0_.STATUS_MUREX as STATUS9_1_0_, 
    operations0_.MUREX_ID as MUREX10_1_0_ 
from 
    PGT_NY.T_PGT_NY_BLOTTER_OPERATIONS_S operations0_ 
where 
    operations0_.MUREX_ID in (
        select 
            this_.MUREX_ID 
        from 
            PGT_NY.T_PGT_NY_BLOTTER_TRADES_S this_,
            PGT_NY.T_PGT_NY_BLOTTER_OPERATIONS_S operations1_ 
        where 
            this_.MUREX_ID=operations1_.MUREX_ID and 
            operations1_.DATETIME between ? and ? 
    )

Любая помощь будет очень полезной.1010 *

Заранее спасибо!

1 Ответ

1 голос
/ 23 февраля 2012

выглядит хорошо для меня.Вы должны получить список спины Сделки, отсортированный по дате и времени их операций, то есть, сначала идет сделка с операцией с наименьшими значениями, а затем дата с операцией с наименьшей второй.объекты сортируются, как указано в сопоставлениях.Вы должны отсортировать их по отдельности.Hibernate не будет делать это при загрузке, потому что он нарушит отслеживание изменений списков, проиндексированных коллекций и т. П.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...