如果我执行以下操作
session.getTransaction().rollback();
那么是否可以在同一个session对象上开始调用save/update/delete等?在Hibernate Session/Transaction API或Hibernate参考文档中找不到这个问题的答案。
或者,您是否建议我关闭该Session对象,打开一个新会话并开始一个新事务?
发布于 2009-03-25 11:14:59
我说关闭会话并打开一个新的会话。Hibernate并不以宽恕滥用其会话而闻名。这可能会对性能造成一些影响,但它可能会防止将来出现bug。
Yuval =8-)
发布于 2009-03-25 11:03:45
从数据库的角度来看,我不确定这是否可行/可取,但编写原子代码对于易用性来说要好得多。您甚至可以重用模板方法的结构来忘记围绕事务的连接。
https://stackoverflow.com/questions/681084
复制相似问题