【问题标题】:Segmenting the data into different tables / databases with JPA使用 JPA 将数据分割到不同的表/数据库中
【发布时间】:2014-03-09 22:28:53
【问题描述】:

我正在开发基于 Java EE、EJB、JSF 和 JPA 的 Web 服务。该服务提供给商业客户,为每个客户存储的数据是完全独立的。对于每个客户,有哪些选项可以将数据分段到不同的表或数据库中?例如。有一个 Account 实体,我想要表 Account_customerA 和 Account_customerB,或不同的 PostgreSQL 数据库*。客户 ID 将根据子域或全局用户表确定。

理想情况下,出于性能和维护原因,我们希望为所有客户使用相同的 EAR。由于我们处于项目的初始阶段,我们也有兴趣听取涉及其他框架(如 Spring)的选项。

*此请求背后的理由之一是安全性——特别是为了防止在客户之间暴露数据的错误(所以最好是拥有不同的数据库和/或数据库用户)。我还希望使用不同的表/数据库查找性能会更好,尽管当然会有内存开销。

【问题讨论】:

    标签: jakarta-ee jpa ejb


    【解决方案1】:

    最有可能的是,您需要注入对 EntityManagerFactory 对象的引用,以便为所提供帐户的数据库获取适当的 EntityManager。

    这个问题看起来可能与您正在查看的类似问题

    Handle multiple EntityManager in Java EE application

    【讨论】:

    • 我会查看 EntityManagerFactory,它可能是我需要的。如果太麻烦,我想我可以考虑为每个客户部署一个应用程序实例。谢谢回复,我会接受的
    猜你喜欢
    • 2012-09-15
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-28
    • 2015-08-25
    相关资源
    最近更新 更多