我有一个参数化的休眠 dao,它执行基本的 crud 操作,当参数化用作委托来完成给定 dao 的基本 crud 操作时。
public class HibernateDao <T, ID extends Serializable> implements GenericDao<T, ID>
我希望能够在运行时从 T 派生 Class 以在 Hibernate 中创建条件查询,例如:
public T findByPrimaryKey(ID id) {
return (T) HibernateUtil.getSession().load(T.getClass(), id);
}
我知道:
T.getClass()
不存在,但是有什么方法可以在运行时从 T 派生正确的 Class 对象?
我看过泛型和反射,但没有想出合适的解决方案,也许我遗漏了一些东西。
谢谢。