2009-12-10 85 views
0

我目前在Spring中大量使用HibernateOperations来处理Hibernate。有些时候我使用TransactionTemplate来明确界定事务。但有时我只想保存/更新单个对象。如果我只是调用hibernateOperations.save()而没有明确的事务处于活动状态,那么它有点作用(我认为自动提交会在这里播放),但这意味着某些事件不会触发,就像我有一个挂钩的hibernate事件监听器进入我在这种情况下失踪的提交事务。如何使用Spring HibernateOperations进行隐式事务的简单操作?

我真正想要的是一种轻松实现hibernateOperations.saveAndCommit()的方法,因为我并不想让整个TransactionTemplate +回调噪声适用于单个保存等简单事情。

我可以推出自己的产品,只是想知道现在有没有解决方案/最佳实践。

我对这段时间通过注释来驱动我的交易不感兴趣,我更喜欢代码的明确性。

欢迎任何建议。

干杯。

+2

所以你喜欢的程序性交易的明确性,但你不不喜欢这样一个事实,即它简化了你的代码以进行简单的操作?你不能两面都有。这是什么注释*为*。 – skaffman 2009-12-10 09:56:19

回答

1

尝试使用declarative transaction approach,这是一个痛苦位的设置一次,但事后你几乎没有任何更担心交易...

+0

是的,我已经考虑了一段时间了,但是我对AOP东西的“隐藏”复杂性有点怀疑。也许这只是你从未真正意识到发生了什么事情的其中一件事而已。我将不得不再看看它。 它是否会显着影响性能?或者在您的体验中有任何其他不良副作用? – 2009-12-11 08:55:54

相关问题