У меня есть следующие две сущности (1: N):
@Entity
public class Job {
@ManyToOne
private User user
}
и
@Entity
public class User {
@OneToMany
private Collection<Job> jobs;
}
Теперь я хочу написать именованный запрос с помощью jpql, который получает пользователей с наибольшим количеством заданий.
С помощью следующего запроса к объекту задания я могу получить количество заданий для каждого пользователя ... но каким-то образом мне нужно сравнить его с количеством заданий пользователя, который имеет максимальное количество заданий всех ...
@NamedQuery(query="SELECT j.user, COUNT(j) FROM Job j GROUP BY j.user" )
Моя вторая идея - написать именованный запрос в сущности User:
@NamedQuery( query="SELECT u.username FROM User u WHERE SIZE(u.jobs) = MAX ??????")
Здесь также я не знаю, как получить максимальное количество назначенных заданий ....
Может ли кто-нибудь мне помочь?