【发布时间】:2018-05-05 08:56:04
【问题描述】:
我正在开发一个多租户应用程序(具有旧数据库结构),其中我有一个通用 user 表和一组基于访问权限的表。
例如,如果用户可以使用不同公司 C1 和 C2 的发票,则数据库包含名称为 C1_invoice 和 C2_invoice 的表。
我可以使用 org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
为一家公司添加前缀所以我可以访问 C1_invoice 表。但是如何动态选择前缀 C1 或 C2 呢?
【问题讨论】:
-
我相信如果您使用公司 ID 作为每个发票记录的外键会更简单。这样,应用程序将在未来无需添加越来越多的表(例如 C3 和 C4)即可扩展。
-
有趣的问题。
-
@RajaAnbazhagan,我相信“旧数据库结构”意味着无法更改的旧架构
-
没有注意到这一点。原谅我。
-
@RajaAnbazhagan 是的,它是旧架构。现在无法更改。
标签: java spring hibernate spring-boot jpa