Как извлечь последние "m" экземпляры из отношения "1-n", используя JPQL? - PullRequest
0 голосов
/ 09 мая 2011

Есть ли способ извлечь последние "m" экземпляров из отношения 1 к n, используя JPQL?
Ex. Получить последние действия «m» для следующих пользователей «x».

1 Ответ

1 голос
/ 10 мая 2011

Для одного пользователя вы можете просто использовать maxResults в запросе.

Query query = em.createQuery("select u.actions from User u where u.id = :id");
query.setMaxResults(10);

В противном случае, как вы определяете «последние» экземпляры, поскольку в OneToMany нет порядка или у вас естьстолбец заказа?

Возможно что-то вроде,

Select a from User u join u.actions a where a.index >= (Select (Max(a2.index) - 10) from Action a2 where a2.user = u)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...