getHibernateTemplate 是否用 释放数据库连接? 我们网站 总当机 我在找原因 我们对数据库操作都是用 getHibernateTemplate spring会自动管理的。不用管理数据库的连接。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 spring中用getHibernateTemplate 是会自动管理session以及connection如果强制使用getSession()时spring是不管理session的。还是建议你检查下其他地方是否强制使用getSession()操作了,是否关闭了session.并且Spring的Session总是与某个线程绑定的,而这个线程往往就是承载Servlet或Jsp的那个线程,也就是说,它的生命周期scope是request的。看这个例子:public class DaoReal extends HibernateDaoSupport implements Dao { public List<User> getAll() { Session s = super.getSession(); try { return s.createQuery("from User").list(); } finally { s.close(); } }}在上面的例子中,执行n遍后依然停止响应。说明:我们利用getSession强制获得了Hibernate的Session,这个Session可能是当前事务中之前使用过的,或者可能是一个新的,并不在当前事务中,Spring只对当前事务中的Session进行关闭。 要解决这个问题,方法有很多。可以使用我们之前讲到过的getHibernateTemplate().find()。也可以设定HibernateTemplate的AllowCreate为True,并在finally中关闭Session。也可以将true作为参数传递到super.getSession(..)方法中取得Session。这里的true表示允许创建。 急!!! maven编译错误:找不到符号 struts2 关于用java实现连发的问题 java类编译为class文件 java怎样来判断客户是从哪个网站上的超链接找到我自己的网站的???[ spring集成hibernate 声明式事务配置问题 整合Spring的问题 JavaScript ,获取行号问题 救命,快疯了。weblogic怎么老死掉,网站访问不了。 oracle8.17的jdbc驱动问题 使用jdbcTemplate怎么配置连接池啊? 基于STRUTS的亮点何在
如果强制使用getSession()时spring是不管理session的。
还是建议你检查下其他地方是否强制使用getSession()操作了,是否关闭了session.并且Spring的Session总是与某个线程绑定的,而这个线程往往就是承载Servlet或Jsp的那个线程,也就是说,它的生命周期scope是request的。
看这个例子:
public class DaoReal extends HibernateDaoSupport implements Dao {
public List<User> getAll() {
Session s = super.getSession();
try {
return s.createQuery("from User").list();
} finally {
s.close();
}
}
}
在上面的例子中,执行n遍后依然停止响应。
说明:我们利用getSession强制获得了Hibernate的Session,这个Session可能是当前事务中之前使用过的,或者可能是一个新的,并不在当前事务中,Spring只对当前事务中的Session进行关闭。 要解决这个问题,方法有很多。可以使用我们之前讲到过的getHibernateTemplate().find()。也可以设定HibernateTemplate的AllowCreate为True,并在finally中关闭Session。也可以将true作为参数传递到super.getSession(..)方法中取得Session。这里的true表示允许创建。