Спящий порядок - PullRequest
       15

Спящий порядок

0 голосов
/ 21 июня 2009

У меня есть класс Транспортные средства и файл сопоставления для него, и я хочу получить все строки из таблицы транспортных средств, упорядоченные по ID desc (мне также нужно то же самое для других моих таблиц).

Я получил следующий код:

session = HibernateUtil.getSessionFactory().getCurrentSession();
tx = session.beginTransaction();

q = session.createQuery("from Vehicles order by ID DESC");

    for (Iterator it=q.iterate(); it.hasNext();){
         //some logic
    }

Но мой набор не упорядочен по ID и каждый раз имеет другой порядок, например RAND () или что-то в этом роде. Мне было интересно, что является самым простым способом сохранить функциональность и просто добавить порядок по предложению, потому что у меня во многих местах один и тот же синтаксис ...

Ответы [ 3 ]

1 голос
/ 21 июня 2009

Я предполагаю, что ваш класс транспортных средств выглядит так? Я использую JPA здесь, потому что это то, что я знаю ...

class Vehicles {
    @Id
    @Column(name="vehicles_id")
    private int id;
    // other stuff here
}

Я не ожидаю, что ваш session.createQuery будет отличаться от моего, так что не понравится ли вам эта работа?

Query q = session.createQuery("select v from Vehicles v order by v.id desc");

Также вы можете использовать критерии, если хотите, да?

class Main {
    List<Vehicles> cars;
}

Criteria main = session.createCriteria(Main.class);
Criteria secondary = main.createCriteria("cars");
secondary.addOrder(Order.asc("id"));
1 голос
/ 21 июня 2009

Попробуйте после "q = session.createQuery (...);" часть:

List results = q.list()
//loop through results

Возможно, в другом месте что-то не так, потому что часть "sort by id desc" верна. Проверьте ваши базы данных / файлы сопоставления, если у вас есть правильные типы данных и если индексы установлены правильно.

0 голосов
/ 21 июня 2009

Вы пробовали "из Транспортных средств v заказ по v.id desc"? Также другой вариант - добавить сопоставимый интерфейс к сущности, а затем перенести список, созданный запросом, в отсортированный набор. Это обычно то, что я делаю, когда мне нужно сортировать.

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