Как вычесть две даты и преобразовать в год

#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 лет