2

下面是我的代码

@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");
session.clear(), SessionFactoryUtils.releaseSession(session, factory);
还是没用。
对上述问题的任何建议都会有很大帮助。

4

2 回答 2

2

谢谢大家的帮助。终于问题解决了。问题不在于提到的功能。问题出在调用函数上,它的会话从未关闭 .session.flush 和 session.close 解决了这个问题。

于 2012-10-11T19:09:50.307 回答
0

尝试使用 SessionFactory 的 getCurrentSession()。

于 2012-10-09T11:21:33.460 回答