我对这个 Hibernate 示例有疑问。我没有在 Hibernate docs 或 Manning Persistence with JPA 中找到答案。可能有人可以解释当我使用普通 JDBC 时会发生什么。
Session session = null;
Transaction tx = null;
try {
session = sessionFactory.openSession();
tx = session.beginTransaction();
// Transaction actions
tx.commit();
}
catch (RuntimeException ex) {
try {
tx.rollback();
}
catch (RuntimeException rbEx) {
log.error("Couldn’t roll back transaction", rbEx);
}
throw ex;
}
finally {
session.close();
}
我的问题是如果事务回滚方法抛出异常会发生什么?一些交易数据会存储在数据库中吗?我该如何处理这个异常?