Hibernate在session.createQuery.list中挂起

时间:2012-10-09 11:05:04

标签: hibernate

以下是我的代码

@SuppressWarnings("unchecked")
protected List<String> executeTestQuery(final String query)
{
    List<String> ret;

    Session session = factory.openSession();
       try
    {
          ret = session.createQuery(query).list();//HANGS
     }
    finally
    {

        session.flush();

       session.close();

    }
    return ret;
}

@SuppressWarnings("unchecked") protected List<String> executeTestQuery(final String query) { List<String> ret; Session session = factory.openSession(); try { ret = session.createQuery(query).list();//HANGS } finally { session.flush(); session.close(); } return ret; }

上述方法是从每种方法调用的常用方法,在某些情况下也是递归调用的。几次运行后,Hibernate挂起了上述点。
我甚至添加了
config.setProperty(Environment.C3P0_MAX_SIZE, "100");
仍然没用 对上述问题的任何建议都会有很大帮助。

2 个答案:

答案 0 :(得分:2)

Thanx伙伴们为您提供帮助。最终问题得到了解决。问题与上述功能无关。问题在于调用函数,它的会话永远不会被关闭.session.flush和session.close解决了这个问题。

答案 1 :(得分:0)

尝试使用SessionFactory的getCurrentSession()。