我的代码中似乎有一些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