关于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);
        }
}

你可能感兴趣的:(DAO,spring,Hibernate,MyEclipse)