我必须在我的多租户SaaS应用程序中在运行时更改默认架构。(共享数据库 - 单独的架构)。基本上每个客户都会有自己的模式(由于某些保密原因,这样设计),并且根据他们的登录凭据,他们将在登录后连接到特定的模式。
我使用 JPA2.0 和 eclipselink 作为持久性提供者。
我想创建一个应用程序范围的单例 EMF,并在创建方法范围的 EntityManager 时将模式名称传递给 createEntityManager 但注意到模式属性只能传递给createEntityManagerFactory()所以我必须为每个创建一个 EMF session (@SessionScope) 并在每个业务方法中从 EMF 创建 Em。
这个设计对我描述的场景有意义吗?
有什么建议吗?
提前致谢