如果我执行以下操作
。session.getTransaction()回滚();
然后确定/可以在同一会话对象上开始调用save / update / delete等吗?无法在Hibernate Session/Transaction API或Hibernate参考文档中找到答案。
或者,您是否建议我关闭该Session对象,打开一个新会话并开始新的交易?
答案 0 :(得分:3)
我说关闭会话并打开一个新会话。 Hibernate并不以滥用其会话而闻名。它可能会对性能造成一定影响,但它可能会阻止一路上的错误。
Yuval = 8 - )
答案 1 :(得分:0)
从数据库的角度来看,我不确定这是否可行/建议,但编写原子代码对于可读性来说要好得多。您甚至可以重复使用模板方法的结构来忘记事务周围的布线。