原始方法:
public static List getMainBiblioTab() {
Session session = null;
List list = new ArrayList();
try {
String firHql = "select * from MainBiblioTab";
session = HibernateSessionFactory.getSession();
SQLQuery query = session.createSQLQuery(firHql);
query.addEntity("MainBiblioTab", MainBiblioTab.class);
List lst = query.list();
for (int i = 0; i < lst.size(); i++) {
MainBiblioTab mainBiblioTab = (MainBiblioTab) lst.get(i);
list.add(mainBiblioTab);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
session.close();
}
return list;
}
希望能共用的方法:
private static List getObject (String sql,Class clazz) {
Session session = null;
List list = new ArrayList();
try {
String firHql = sql;
session = HibernateSessionFactory.getSession();
SQLQuery query = session.createSQLQuery(firHql);
query.addEntity(clazz.getName(), clazz);
List lst = query.list();
for (int i = 0; i < lst.size(); i++) {
MainBiblioTab mainBiblioTab = (MainBiblioTab) lst.get(i);//这个地方怎么抽象呀??
list.add(mainBiblioTab);//这个地方怎么抽象呀??
}
} catch (Exception e) {
e.printStackTrace();
} finally {
session.close();
}
return list;
}
问题:
有很多表,所以有很多类似的方法,因为代码基本差不多,所以我想抽象他们,不知道怎么抽?
因为另有原因所以不能使用hsql,hibernate转pojo等技术。