日期:2014-05-18  浏览次数:20594 次

hibernate opensession问题
本帖最后由 q455295165 于 2014-04-22 10:17:09 编辑
最近在做web  rss新闻订阅功能,然后在rss解析出来的新闻插入数据库中
但是插入中出错了,插入5条后页面卡主,控制台也卡主了,也不报错。猜想应该是opensession过多导致的。
我插入新闻的代码如下

public void insert(News news) {
// TODO Auto-generated method stub
System.out.println("enter dao inserNews");

Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
try {
session.save(news);
tx.commit();
} catch (Exception e) {
tx.rollback();
e.printStackTrace();
} finally {
System.out.println("clear");
session.clear();
}
}

请问下具体是怎么一回事
------解决方案--------------------
你的session开太多了,你从没有close啊,session.clear();改成:session.close();
建议你用: getCurrentSession(),这样创建的session会自动关闭的。