Java Knowledge

1.获取运行期泛型类

public class BaseDaoImpl<T> extends HibernateDaoSupport implements BaseDao<T> {//获取的是T对应的泛型类型
    private Class clazz;//用于接收运行期泛型类型
    public BaseDaoImpl() {
        //获得当前类型的带有泛型类型的父类
        ParameterizedType ptClass = (ParameterizedType) this.getClass().getGenericSuperclass();
        //获得运行期的泛型类型
        clazz = (Class) ptClass.getActualTypeArguments()[0];
    }
    
    public T getById(Serializable id) {
        return (T) getHibernateTemplate().get(clazz, id);
    }
}    

猜你喜欢

转载自www.cnblogs.com/ms-grf/p/9296261.html