我有用於添加,更新和刪除實體的通用方法。但我也想用泛型來檢索數據。如何實現通用方法從Hibernate中獲取數據庫中的數據?
這裏是我的方法來獲得數據:
public static List<ClassA> getAllClassAData() {
Session session = HibernateUtil.getSessionFactory().openSession();
Criteria criteria = session.createCriteria(ClassA.class);
return criteria.list();
}
public static List<ClassB> getAllClassBData() {
Session session = HibernateUtil.getSessionFactory().openSession();
Criteria criteria = session.createCriteria(ClassB.class);
return criteria.list();
}
public static List<ClassC> getAllClassCData() {
Session session = HibernateUtil.getSessionFactory().openSession();
Criteria criteria = session.createCriteria(ClassC.class);
return criteria.list();
}
我試圖做這樣的事情:
public static <T> List<T> getAllData() {
Session session = HibernateUtil.getSessionFactory().openSession();
Criteria criteria = session.createCriteria(???.class); //Here is where I'm stuck
return criteria.list();
}
而且我堅持了通過以班級爲ARG爲標準創造:
Criteria criteria = session.createCriteria(Generic.class);
如何讓JVM知道在創建標準時我想通過哪個類?
謝謝,它適用於我,因爲我想。順便說一句,我使用靜態上下文,因爲我有幾個方法與數據庫進行通信,並且不需要創建DBUtil實例。至少我沒有看到在一個小項目中做這件事的理由。 – Dragon