`
aspirinxp
  • 浏览: 11944 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

关于Hibernate中session的开关管理

阅读更多
Hibernate中的session在调用完毕以后需要关闭,以免超出连接限制。

原先的DAO代码使用的是MyEclipse自动生成的,自动生成的代码里面每次session使用完了以后并没有将其释放,所以会导致超出数据库连接数限制而无法访问的问题。

修改自动生成的代码,在每个方法后面加上finally语句块,finally里用releaseSession()方法来释放之前使用过的session。

修改后代码如下:
public List findAll() {
		Session session = getSession();
		log.debug("finding all YongHu instances");
		try {
			String queryString = "from YongHu";
			return session.createQuery(queryString).list();
		} catch (RuntimeException re) {
			log.error("find all failed", re);
			throw re;
		}finally {
			releaseSession(session);
        }
}
分享到:
评论
1 楼 JavaLike 2010-12-31  
在实际的系统中,session是系统托管的,不需要关闭,系统中很少单独使用Hibernate,和Spring结合使用的倒是很常见。

相关推荐

Global site tag (gtag.js) - Google Analytics