【发布时间】:2015-03-02 20:22:25
【问题描述】:
在我的批处理事务中与休眠一起使用 session.clear() 时,我收到以下错误。
org.hibernate.HibernateException: Error while indexing in Hibernate Search (before transaction completion)
我正在使用以下代码
try {
for (TimeSheetEntity timeSheet : timeSheets) {
timeSheet.setActive(false);
try {
session.update(timeSheet);
count++;
if (count % 250 == 0 || totalCount == count) {
System.out.println(count);
session.flush();
session.clear();
}
} catch (HibernateException ex) {
logger.error(ArchiveImpl.class.getName(), ExceptionUtils.getStackTrace(ex) + "[" + timeSheet.getId() + "] ");
} catch (Exception ex) {
logger.error(ArchiveImpl.class.getName(), ExceptionUtils.getStackTrace(ex) + "[" + timeSheet.getId() + "] ");
}
}
sessionManager.commit();
} catch (HibernateException ex) {
System.out.println(ex);
logger.error(ArchiveImpl.class.getName(), ExceptionUtils.getStackTrace(ex));
sessionManager.abort();
} finally {
}
现在如果我删除 session.clear();一切正常。任何想法为什么我不能在我的批处理事务中使用 clear 和休眠搜索?
【问题讨论】:
标签: java hibernate hibernate-search