2012-03-21 77 views
1

我們有一個獨立的java應用程序。目前我們只連接到一個數據庫,它工作正常。我們有一個新的需求,我們必須連接到第二個數據庫和其中一個事務必須將數據實際插入到兩個數據庫中。 有沒有一種方法可以使用hibernate來做到這一點。我嘗試使用HibernateEntityManager並將其配置爲指向2個數據庫,但提交是問題。在獨立的java應用程序中,在2個數據庫中進行事務處理,休眠+ JPA

有沒有辦法做到這一點沒有JTA?或者,如果JTA是唯一的選擇...更好的應用服務器,或者我們應該去獨立的JTA實施。

在此先感謝!

回答

0

這被稱爲兩階段提交,其中提交需要發生在多個系統上(另一個例子是將JMS消息與DB事務一起出列)。

可疑的是,JTA是這裏的一種方式,您需要符合XA的JDBC驅動程序才能跨連接跨越事務。

您不一定需要應用程序服務器,但其中許多應用程序會爲您提供內置功能,否則您需要實施自己的功能(例如:http://blog.springsource.com/2011/08/15/configuring-spring-and-jta-without-full-java-ee/)。例如,如果您使用JBoss,則它內置了一個完全符合XA的tx協調器。

相關問題