Hibernate回滚

时间:2009-03-25 10:58:56

标签: hibernate transactions rollback

如果我执行以下操作

session.getTransaction()回滚();

然后确定/可以在同一会话对象上开始调用save / update / delete等吗?无法在Hibernate Session/Transaction API或Hibernate参考文档中找到答案。

或者,您是否建议我关闭该Session对象,打开一个新会话并开始新的交易?

2 个答案:

答案 0 :(得分:3)

我说关闭会话并打开一个新会话。 Hibernate并不以滥用其会话而闻名。它可能会对性能造成一定影响,但它可能会阻止一路上的错误。

Yuval = 8 - )

答案 1 :(得分:0)

从数据库的角度来看,我不确定这是否可行/建议,但编写原子代码对于可读性来说要好得多。您甚至可以重复使用模板方法的结构来忘记事务周围的布线。