跨两个数据库的事务,hibernate+;独立java应用程序中的JPA

跨两个数据库的事务,hibernate+;独立java应用程序中的JPA,hibernate,jpa,jta,Hibernate,Jpa,Jta,我们有一个独立的java应用程序。目前我们只连接到一个数据库,它工作正常。我们有一个新的要求,我们必须连接到第二个数据库,其中一个事务必须实际将数据插入两个数据库。 有没有一种方法可以使用hibernate实现这一点。我尝试使用HibernateEntityManager并将其配置为指向2个数据库,但问题在于提交 没有JTA有没有办法做到这一点?或者如果JTA是唯一的选择。。。我们应该选择一个更好的应用服务器,还是选择一个独立的JTA实现 提前谢谢 这称为两阶段提交,其中提交需要跨多个系统进行(

我们有一个独立的java应用程序。目前我们只连接到一个数据库,它工作正常。我们有一个新的要求,我们必须连接到第二个数据库,其中一个事务必须实际将数据插入两个数据库。 有没有一种方法可以使用hibernate实现这一点。我尝试使用HibernateEntityManager并将其配置为指向2个数据库,但问题在于提交

没有JTA有没有办法做到这一点?或者如果JTA是唯一的选择。。。我们应该选择一个更好的应用服务器,还是选择一个独立的JTA实现


提前谢谢

这称为两阶段提交,其中提交需要跨多个系统进行(另一个示例是将JMS消息与DB事务一起排出队列)

正如所怀疑的那样,JTA是实现这一点的方法,您需要一个兼容XA的JDBC驱动程序,以便能够跨连接跨越事务

您不一定需要应用程序服务器,但它们中的许多为您提供了内置功能,否则您需要自己实现这些功能(下面是一个示例:)。例如,如果您使用JBoss,它内置了一个完全兼容XA的tx协调器