Hibernate Criteria Query добавляет дополнительный заказ по предложению - PullRequest
4 голосов
/ 06 октября 2011

У меня есть запрос DetachedCriteria с проекцией и преобразователем, как показано ниже

criteria = DetachedCriteria.forClass(Report.class, "r");
criteria
.createAlias("template", "t")
.createAlias("constituents", "c")
.setProjection(
        Projections.projectionList()
.add(Projections.property("r.reportId").as("reportId"))
.add(Projections.property("r.reportNm").as("reportNm"))
.add(Projections.property("t.templateNm").as("templateNm"))
.add(Projections.property("t.templateTyp").as("templateTyp"))
).setResultTransformer(Transformers.aliasToBean(ReportSummary.class));

Затем я получаю Citeria из сеанса и теперь, когда я пытаюсь добавить предложение orderBy динамически, то есть

Session session = entityManager.unwrap(Session.class);
Criteria c = criteria.getExecutableCriteria(session);
Order order = sortDirection.equals("ASC")?
Order.asc(orderByColumnName):Order.desc(orderByColumnName);
c.addOrder(order);

сгенерированный запрос содержит дополнительное предложение orderBy, т.е.

order by reportId ASC(NOT REQUIRED ADDED AUTOMATICALLY), order by reportNm ASC

Может кто-нибудь подсказать мне решение

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