提问人:Eduardo 提问时间:11/16/2023 更新时间:11/16/2023 访问量:23
在持久化对象列表时出现异常后休眠提交的问题
Issue with Hibernate commit after exception while persisting a list of objects
问:
在对象列表持久化期间发生异常后,我尝试使用 Hibernate 提交时遇到了一个问题。我的代码利用 Hibernate 将对象保存在数据库中,并且我希望确保在错误发生之前成功处理的对象保存在数据库中,即使在发生异常之后也是如此。
目前,我的方法如下所示:
private void persist(List<T> entities, Boolean commitInError, boolean isSaveOrUpdate) {
try {
transaction = session.beginTransaction();
for (T entity : entities) {
if (isSaveOrUpdate) {
session.merge(entity);
} else {
session.remove(entity);
}
}
transaction.commit();
} catch (Exception e) {
if (transaction != null) {
if (commitInError) {
try {
transaction.commit();
} catch (Exception e2) {
throw e2;
}
} else {
transaction.rollback();
}
}
throw e;
} finally {
close();
}
}
我想知道是否有人在对象列表持久化期间出现异常后尝试使用 Hibernate 提交时遇到类似的问题。是否有任何推荐的解决方案或方法来处理这种情况?
提前感谢您的帮助!
我使用hibernate 6.3.1.Final
答: 暂无答案
评论
transaction