1) rapid-framework的解决方案
抽象类BaseHibernateDao中提供了抽象方法
public abstract Class getEntityClass();
由Dao子类实现该方法
2)appfuse的解决方案
在GenericDaoHibernate中提供了构造方法和setter
public GenericDaoHibernate(final Class<T> persistentClass),不允许无参的构造方法
3)springside的解决方案
SimpleHibernateDao获取的其父类SimpleHibernateDao的泛型类型
public SimpleHibernateDao() {
this.entityClass = ReflectionUtils.getSuperClassGenricType(getClass());
}
ReflectionUtils.getSuperClassGenricType:
Class<T> entityClass =(Class<T>)
((ParameterizedType) getClass().getGenericSuperclass())
.getActualTypeArguments()[0];
posted on 2010-07-29 09:59
jeffma 阅读(2826)
评论(0) 编辑 收藏