Короткая версия: вам не хватает первого аргумента в своем вызове invoke
.
Длинная версия: вы звоните
Method method = DoerDAO.class.getDeclaredMethod(requestedUser,
Dossier.class,
SessionFactory.class);
Допустим, что ценность requestedUser
является getReviewerOneDetail
, тогда вы посмотрите на метод
getReviewerOneDetail(Dossier arg0, SessionFactory arg1)
Далее вы звоните
method.invoke(dossierDetail.get(0), sessionFactory);
А Javadoc Состояния, которые вызывают, получают как первым параметрам экземпляр (!) Класса, чтобы вызвать метод включенным и как второе, третье, ... параметры фактические параметры для вашего вызова.
Итак, то, что вы на самом деле пытаетесь позвонить в свой код, это
dossierDetail.get(0).getReviewerOneDetail(sessionFactory);
который не соответствует сигнатуру метода (1 параметр против 2 параметров), ни тип экземпляра, на котором вызывается метод (Dossier
вместо DoerDAO
).
Потому что вы приобретаете Method
от DoerDAO
Класс, я думаю, что вы намеревались написать там, на самом деле:
method.invoke(doerDao, dossierDetail.get(0), sessionFactory);
Это приведет к
doerDao.getReviewerOneDetail(dossierDetail.get(0), sessionFactory);