写了一个BaseDAO了,封装了所有数据库的操作
eg:
public List findAll(final Class entity) {
Session sn = null;
List list = null;
try {
sn = HibernateSessionFactory.getSession();
// Transaction ts = sn.beginTransaction();
list = sn.createQuery(" from " + entity.getName()).list();
// ts.commit();
} catch (Exception ex) {
logger.error("find() error:" + ex.getMessage(), ex);
} finally {
HibernateSessionFactory.closeSession();
}
return list;
}
关闭了session后一级缓存就不能使用了,就会每次查询一下数据库啦。
不关的话, 就到自己的DAO中去手动关闭啦。是不是也只能这样了 ,还有什么好的设计没?