У меня много контроллеров с одинаковыми методами, разница только в классе сущностей.
Я хочу создать универсальный BaseController и возникли проблемы с аннотацией QuerydslPredicate (не могу установить root, это универсальный)
class abstract BaseController<T extends BaseEntity> {
@Autowired
private Repository<T, Long> repository;
@RequestMapping(method = RequestMethod.GET)
public Page<T> findAll(@QuerydslPredicate Predicate predicate, Pageable pageable) {
return repository.findAll(predicate, pageable);
}
}
Method extractTypeInfo from QuerydslPredicateArgumentResolver return T
Но нужен класс Entity.
И я не могу установить корневое значение в QuerydslPredicate (не иметь класс)
@QuerydslPredicate(root = T.class)
Любая помощь о том, как этого добиться?