ParameterizedType--参数类型
任何对象调用A类时,自动获取该对象的类的类类型, 类的对象名通过this.type.getName()获得
以下代码比较经典:
public class BaseDao<T> extends HibernateTemplate implements Dao<T>{
private Class type;
@Autowired
public BaseDao(SessionFactory sessionFactory){
super(sessionFactory);
ParameterizedType parameterizedType = (ParameterizedType)this.getClass().getGenericSuperclass();
this.type = (Class)parameterizedType.getActualTypeArguments()[0]; //获得当前表对应类的类类型Class, 类对象名就是this.type.getName()
}
@Override
public List getAll() {
return find(new StringBuffer(" from ").append(this.type.getName()).toString());
}

浙公网安备 33010602011771号