對於橫跨多個Hibernate SessionFacotry的分佈式事務,只需簡單地將 JtaTransactionManager 同多個 LocalSessionFactoryBean 的定義結合起來作爲事務策略。你的每一個DAO通過bean屬性得到各自的 SessionFactory 引用。如果所有的底層JDBC數據源都是支持事務的容器,那麼只要業務對象使用了 JtaTransactionManager 作爲事務策略,它就可以橫跨多個DAO和多個session factories來劃分事務,而不需要做任何特殊處理。
spring1.x例子如下:
spring2.x例子如下: