new*_*bie 5 java spring hibernate transactions
我在所有DAO中都有@Transactional注释,但我只能定义一个只占用一个SessionFactory的TransactionManager.我每个客户有一个SessionFactory,每个客户一个DataSource,显然我需要为每个客户更改TransactionManager.但是,当我只能为一个TransactionManager定义一个Spring bean名称时,如何才能为客户获得正确的事务管理器?
Spring 3支持多个事务管理器,同时保持声明式@Transactional分隔
这不是你想要的吗?
这是 Spring 的声明式事务管理不再方便的示例,您需要切换到编程管理以获得所需的灵活性。例如,这将允许您将事务管理器映射注入 DAO 层,并相应地选择正确的事务管理器,从而TransactionTemplate使事情变得更容易。
或者,如果您在支持 JTA 的容器内运行,那么您可以使用 Spring 的JtaTransactionManager. 这将事务管理委托给应用程序服务器,同时保留 Spring API 语义。这也意味着任意数量的 DataSource 和 SessionFactory 可以参与一个事务管理器的管理。但是,这意味着您的数据源需要由应用程序服务器完全管理,这可能不适合您。
| 归档时间: |
|
| 查看次数: |
9181 次 |
| 最近记录: |