#hibernate #hql
#переход в спящий режим #hql
Вопрос:
У меня есть два класса, UserServiceH2
в которых инкапсулирована логика моей базы данных CRUD
, а другой — UserController
из которого я вызываю методы UserServiceH2
. У меня следующий вопрос
В классах UserServiceH2 и UserController реализуют public int getAvgMembership(), который возвращает среднюю продолжительность членства в годах для всех пользователей (поскольку длина принимает текущую дату минус doj). Для этой задачи используйте агрегаты в HQL
public int getAvgMembership() {
List<User> allUsers = getAllUsers();
for(int i = 0; i < allUsers.size(); i ) {
int year = allUsers.get(i).getDateOfJoining();
//stuck here
}
}
Комментарии:
1. Имеет ли dateOfJoining тип
int
?2. нет, это тип Date из библиотеки java util. Но мне нужно сначала получить разницу, а затем вернуть ее как количество лет. Например, этот человек является сотрудником компании в течение 2 лет