У меня есть параметризованный hibernate dao, который выполняет основные операции crud, и когда параметризованный используется в качестве делегата для выполнения основных операций crud для заданного dao.
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()
не существует, но есть ли способ получить правильный объект класса из T во время выполнения?
Я посмотрел на дженерики и размышления, но не нашел подходящего решения, возможно, я чего-то не хватает.
Спасибо.