我用了spring,但我不用他的HibernateTemplate, 我用自已實現的,例如: public Collection getEntityList(String hql, List sqlcondition, int pageno, int pagesize) { return getEntityList(hql, sqlcondition, pageno, pagesize, null); }
public Collection getEntityList(String hql, List sqlcondition, int pageno, int pagesize, String orderby ) { hql = hql + SQLCondition.getSQLCondition(sqlcondition); if(orderby != null) hql = hql + " order by " + orderby; Query query = initedQuery(hql, sqlcondition); query.setFirstResult((pageno-1) * pagesize); query.setMaxResults(pagesize); return query.list(); } 在spring中用到的hql condition參數多是Object[]型的,hql參數也要有 占位符與object[i]對應,感覺用起來不方便, 所以還是用HqlCondition配合起來用, 我用spring,只用它的ioc.. hibernate的配置我也獨立的,並不用spring的..
public Collection getEntityList(String hql, List sqlcondition,
int pageno, int pagesize) {
return getEntityList(hql, sqlcondition, pageno, pagesize, null);
}
public Collection getEntityList(String hql, List sqlcondition,
int pageno, int pagesize, String orderby ) {
hql = hql + SQLCondition.getSQLCondition(sqlcondition);
if(orderby != null) hql = hql + " order by " + orderby;
Query query = initedQuery(hql, sqlcondition);
query.setFirstResult((pageno-1) * pagesize);
query.setMaxResults(pagesize);
return query.list();
} 在spring中用到的hql condition參數多是Object[]型的,hql參數也要有 占位符與object[i]對應,感覺用起來不方便, 所以還是用HqlCondition配合起來用, 我用spring,只用它的ioc.. hibernate的配置我也獨立的,並不用spring的..
图一省事
而且支持二级缓存,大部分情况下可以有相当不错的性能,
但某些特定的应用性能可能会直接用JDBC差,这时Spring的
JDBCTemplate可以是一个选择http://ayufox.blogcn.com/
spring对jdbc和hibernate的封装一样好。2者优劣不因使用spring而产生变化。