我目前在Spring中大量使用HibernateOperations与Hibernate一起工作。有时候,我使用TransactionTemplate显式标记事务。但是有时候我只想保存/更新一个对象。如果我只是在没有显式事务激活的情况下调用hibernateOperations.save(),那么它可以正常工作(我认为自动提交即将在此处播放),但是这意味着某些事件不会触发,例如我挂了一个休眠事件监听器进入这种情况下我缺少的提交事务。
我真正想要的是一种轻松地执行hibernateOperations.saveAndCommit()的方法,因为我真的不希望为单个保存之类的简单事情提供整个TransactionTemplate +回调噪声。
我可能会提出自己的建议,只是想知道是否存在现有的解决方案/最佳实践。
目前,我对通过注释推动交易不感兴趣,我更喜欢代码的明确性。
任何建议欢迎。
干杯。
最佳答案
尝试使用declarative transaction approach,一次设置有点麻烦,但是之后您就不必再担心交易了……