我用冬眠來管理我的數據庫/ javaWebApplication互動,與新的要求我必須有滾動的結果,並繪製自己的查詢結果,我在Java使這個泛型類返回的ScrollableResults通用休眠滾動的結果方法
public ScrollableResults executeCursorQuery(final String
queryString, final Object... params) throws PersistenceException
{
Session session = SessionFactoryUtil.getSessionFactory().openSession();
SQLQuery sqlQuery = session.createSQLQuery(queryString);
int position = 0;
for (Object param: params) {
sqlQuery.setParameter(position, param);
position++;
}
ScrollableResults results = sqlQuery.scroll();
return results;
}
我遍歷結果,並準確地映射我的信息,我做了後,我做
SessionFactoryUtil.getSessionFactory().getCurrentSession().close();
它的工作原理相當不錯,但之後這種方法它崩潰的應用程序打了幾個電話,我想這是因爲這些會議每次都是開放的,因爲我也使用c3p0來處理連接池。 我真的不知道我在這裏的循環,如果任何人發現錯誤或知道我做錯了什麼,可以指向我在正確的方向,將不勝感激。
哪個數據庫正在使用? –
請注意,getSession()和openSession()方法之間存在細微差別。如果使用openSession(),則通過調用session.close()關閉sesssion對象。 http://stackoverflow.com/questions/8046662/hibernate-opensession-vs-getcurrentsession –
是的,但我需要會議打開,以便能夠迭代查詢的結果,我完成後關閉它,但它doesn' t似乎工作我發佈了我用來關閉它的代碼行,它應該工作,但不。 – fr3d0