У меня есть параметризованный спящий режим dao, который выполняет базовые операции crud, а при параметризации используется как делегат для выполнения основных операций crud для данного дао.
public class HibernateDao <T, ID extends Serializable> implements GenericDao<T, ID>
Я хочу иметь возможность получить класс из T во время выполнения для создания критериев запросов в Hibernate, например:
public T findByPrimaryKey(ID id) {
return (T) HibernateUtil.getSession().load(T.getClass(), id);
}
Я знаю:
T.getClass()
не существует, но есть ли способ извлечь правильный объект Class из T во время выполнения?
Я смотрел на дженерики и рефлексию, но не нашел подходящего решения, возможно, я что-то упустил.
Спасибо.