public List<Account> query() {
 
List<Account> list = null;
list = super.getHibernateTemplate().executeFind(new HibernateCallback(){ public Object doInHibernate(Session session) throws HibernateException, SQLException {
// TODO Auto-generated method stub
List<Account> rel = null;
Criteria cri = session.createCriteria(Account.class);
rel = cri.list();
return rel;
}

});
return list;
}    上面是一个查询方法
我想做这样的一个方法写在公用类里,免得老是写重复的代码
但遇到的问题是这样的
public List<“泛型这里我们开始并不知道什么类型,要怎么写”> query("在这里传入类的名称"){List<泛型这里我们开始并不知道什么类型,要怎么写> list = null;
list = super.getHibernateTemplate().executeFind(new HibernateCallback(){ public Object doInHibernate(Session session) throws HibernateException, SQLException {
// TODO Auto-generated method stub
List<Account> rel = null;
Criteria cri = session.createCriteria("在这里传入类的名称怎么获得class");
rel = cri.list();
return rel;
}

});
return list;
}有没有好心人帮忙一下
 

解决方案 »

  1.   

    public <T> List<T> query(Class<T> c) {Criteria cri = session.createCriteria(c.getClass());看看可以不,我没试过哦
      

  2.   

    public List query(final Object o){ List<Object> list = null;
    list = super.getHibernateTemplate().executeFind(new HibernateCallback(){ public Object doInHibernate(Session session) throws HibernateException, SQLException {
    // TODO Auto-generated method stub
    List<Object> rel =null;
    Criteria cri = session.createCriteria(o.getClass());
    rel = cri.list();
    return rel;
    } });
    return list;
    }
    我没试,不知道行不行,估计会有警告。