Динамическое разрешение класса q для сущности Query DSL
Интересно, есть ли какой-нибудь правильный / простой способ получить класс Q (класс типа запроса Querydsl для сущности) во время выполнения. Я должен переопределить пару методов в классах с родовым родительским классом только для разрешения qType. Например, в таком методе, как
@Override
public List<User> getSomething(User user) {
QUser qUser = QUser.user;
return this.getSomething(qUser, user);
}
QUser, сгенерированный Mysema из класса User, и, если я каким-то образом смогу разрешить его для класса User во время выполнения, мне не нужно переопределять метод, поскольку я могу делать все в родительском классе. Очевидно, я могу сделать это с помощью отражения, отсканировав classpath и найти любой расширяемый класс EntityPathBase<User>
но я хочу не изобретать велосипед, если какое-то решение уже существует. Я полагаю, что тогда мне нужно будет где-то кешировать результаты по соображениям производительности, поскольку сканирование пути к классам не очень быстро выполняется при каждом выполнении метода.