Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Play! Framework и Hibernate Criteria 
:(
    Опции темы
Logo
Дата 12.6.2012, 02:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 694
Регистрация: 22.7.2008

Репутация: нет
Всего: 10



Как использовать Hibernate Criteria в Play framework?

Является ли такой код правильным?

Код

import play.db.jpa.JPA;
import org.hibernate.classic.Session;
import org.hibernate.criterion.*;

public static void index() {
  Session s = (Session)JPA.em().getDelegate();
  Post frontPost = (Post) s.createCriteria(Post.class)
    .addOrder(Order.desc("postedAt"))
    .list().iterator().next();

   

PM MAIL   Вверх
Stolzen
Дата 12.6.2012, 08:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

Репутация: 3
Всего: 48



В критерии есть метод uniqueResult, похоже, вам именно он нужен


--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
Logo
Дата 12.6.2012, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 694
Регистрация: 22.7.2008

Репутация: нет
Всего: 10



uniqueResult в данном случае не подходит, нужно выбрать первую строку. uniqueResult выбрасывает исключение NonUniqueResultException.
Либо тогда нужно обязательно добавить limit 1?
PM MAIL   Вверх
Stolzen
Дата 12.6.2012, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

Репутация: 3
Всего: 48



Да, действительно. Тогда вам нужно criteria.setMaxResults(1).uniqueResult()


--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
Logo
Дата 12.6.2012, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 694
Регистрация: 22.7.2008

Репутация: нет
Всего: 10



А насколько с точки зрения Play Framework правильна строка Session s = (Session)JPA.em().getDelegate();?
Нет ли чего то вроде
Код

  Post frontPost = Post.createCriteria()
    .addOrder(Order.desc("postedAt"))
    ...


Это сообщение отредактировал(а) Logo - 12.6.2012, 19:44
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0955 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.