я должен написать, что HQL запрос:Простой запрос HQL и критерии в Hibernate
FROM Sending adp WHERE adp.id = (SELECT MAX (adpw.id) FROM Sending adpw WHERE adpw.place = adp.place)
я должен использовать критерии API, и я не могу справиться. Запрос возвращает последние отправления из всех мест в базе данных, и он работает очень хорошо, но теперь я должен преобразовать его в критерии. Единственное, что мне удалось - показать только одно место со следующим кодом:
Criteria criteria = getSession().createCriteria(
Sending.class);
criteria.setFetchMode("place", FetchMode.JOIN);
DetachedCriteria maxId = DetachedCriteria.forClass(Sending.class).setProjection(Projections.max("id"));
criteria.add(Property.forName("id").eq(maxId));
Помогло бы вам? Заранее спасибо!!
В чем проблема с кодом Критерии, который вы указали? Это не работает? Это дает неправильные результаты? – mthmulders
Я получаю только один результат. Единственный с max id - отправка с максимальным id. И он должен вернуть более 350 - последняя отправка с каждого места. –