gpt4 book ai didi

java - 具有多个数据库的 JPA (Hibernate)

转载 作者:行者123 更新时间:2023-12-01 18:36:59 25 4
gpt4 key购买 nike

这是我在工作中发现的挑战:我们有一个 Java Web 应用程序和多个数据库(每个客户一个)(每个客户使用相同的数据库/元数据)。还有一个中央数据库,用于保存客户信息,例如数据库 URL 等。

在登录屏幕上,用户告知客户 ID、登录名和密码,点击登录按钮,然后 Web 应用程序首先转到中央数据库以查找客户数据库的 URL(我有一个单独的实体管理器工厂) ,然后返回并为该客户数据库创建一个新的实体管理器工厂。到目前为止一切顺利,我可以看到客户 1 的数据。

但是,当我注销并尝试使用不同的客户 ID(这意味着不同的数据库)登录时,之前创建的实体管理器工厂仍然“连接”到先前客户的数据库,即使应用程序传递了参数包含新数据库 URL 的 map 。

我的问题是是否有一种方法可以让 JPA 连接到不同的数据库,而不必为每个客户创建实体管理器工厂。我知道 EntityManagerFactory 对象缓存所有数据库元数据,所以有没有办法更改数据库 url 属性并刷新工厂?

谢谢,

最佳答案

My question is if there is a way to make JPA to connect to different databases without having to create an entity manager factory for each customer.

我不这么认为。

在这里查看 Nayan 的回答:When should EntityManagerFactory instance be created/opened?以获得更多见解。

关于java - 具有多个数据库的 JPA (Hibernate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21559386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com