【发布时间】:2013-06-17 14:20:14
【问题描述】:
我经历了 Spring 事务管理。我有一个非常简单的问题假设在具有 Spring Hibernate 集成的银行应用程序中是否必须在贷记和借记方法上使用 @Transactional。如果我不想回滚,我还必须将方法放在事务范围内吗?
【问题讨论】:
标签: spring hibernate spring-mvc spring-transactions
我经历了 Spring 事务管理。我有一个非常简单的问题假设在具有 Spring Hibernate 集成的银行应用程序中是否必须在贷记和借记方法上使用 @Transactional。如果我不想回滚,我还必须将方法放在事务范围内吗?
【问题讨论】:
标签: spring hibernate spring-mvc spring-transactions
如果您从技术上询问 Hibernate 调用是否必须在事务中,答案是否定的。每个调用(更新、插入或删除)都将作为原子操作完成。函数返回后对数据库的请求就完成了。当数据库实际提交更改取决于 Hibernate、驱动程序和数据库本身。
如果您询问是否应该将贷方或借方置于交易状态,答案取决于应用程序的要求。
【讨论】:
这取决于您如何处理借记卡和贷记卡。也许您可以向@Transactional 提供一些级别配置。如果您需要更灵活的事务,您可以选择程序化事务管理而不是声明式事务管理。就 Spring 而言,它不会以任何方式限制您,完全取决于您希望如何处理事务。
【讨论】: