publicclassCommonDaoImpl<T> extendsHibernateDaoSupportimplementsICommonDao<T> {//泛型转换private Class entity = (Class)GenericSuperClass.getClass(this.getClass());
在公共基础类的方法中:
public List<T> findCollectionByConditionNoPage(String hqlWhere,
final Object[] params, LinkedHashMap<String, String> orderby) {
String hql = "from "+entity.getSimpleName()+" o where 1=1 ";
Class.getSimpleName() 是得到类的简写名称。
(Class)GenericSuperClass.getClass(this.getClass()) 是得到父类的类模板实例,即类名。this.getClass 是被子类具体实例化的 T 。这样在泛型中就可以得到 继承这个泛型父类的子类的 Class ,便于公共类中的公共方法的重用。
在公共基础类中:public class CommonDaoImpl<T> extends HibernateDaoSupport implements ICommonDao<T> { //泛型转换 private Class entity = (Class)GenericSuperClass.getClass(this.getClass());在公共基础类的方法中:public Li