我的代碼中似乎有一些Hibernate資源的「泄漏」。
僞代碼
對於每20,000記錄
使用標準用一個例子實體
查找記錄添加一個新的對象來收集關於實體
保存新對象到數據庫我的代碼中存在Hibernate資源泄漏
問題
查找示例實體失敗,記錄12,764。如果我在測試用例中執行該查找,則會成功檢索它。如果我將輸入文件分成多個文件,每個文件有10,000條記錄,則會處理所有記錄。 這裏是我使用查找數據庫記錄
try {
// begin transaction
ses = Activator.getSession();
ses.beginTransaction();
// find the object
Criteria crit = getSession().createCriteria(getPersistentClass());
Example example = Example.create(exampleInstance);
for (String exclude : excludeProperty) {
example.excludeProperty(exclude);
}
crit.add(example);
foundEntities = crit.list();
for (T curT : foundEntities) {
this.initHibernateEntity((I) curT);
}
// commit transaction
ses.getTransaction().commit();
} catch // all exceptions
finally {
if (ses != null && ses.isOpen()) {
ses.close();
}
}
我希望在哪裏,這可能是任何建議的代碼。
某些堆棧跟蹤會有所幫助。 – 2013-04-20 16:27:45