如果我在调用提交期间出现休眠异常。在 catch 块中,如果使用 clear 是否需要回滚?
例如
EntityTransaction t = em.getTransaction();
t.begin();
try {
...
t.commit();
} catch (StaleObjectStateException ex) {
... // rollback needed?
} finally {
t.clear();
}
代替
EntityTransaction t = em.getTransaction();
t.begin();
try {
...
t.commit();
} catch (StaleObjectStateException ex) {
if (t.isActive()) {
t.rollback();
}
}
有什么区别,您将如何决定使用哪个?
谢谢