【发布时间】:2014-02-01 11:34:12
【问题描述】:
我在 SaaS 应用程序中使用使用 spring 3.5 的 hibernate 3。我预计最多 10-15 个客户,而不是更多。我不想为每个客户实施单独的数据库或模式,因为它对于像我这样的小型企业来说过于复杂和昂贵。我目前正在使用多租户策略,该策略适用于许多小功能。这是我的设计失败的用例:
对于报告功能,每个客户都有不同的数据表(由于各种原因,例如遗留问题、数据来源等)。表结构不同,服务/控制器行为也不同。
我目前正计划为每个客户创建单独的控制器、服务 (DAO) 等,从而将每个此类客户表映射到一个单独的休眠类。但是这种方法并不干净,对于我添加的每个新客户(虽然并不经常),我需要添加它的表,并且还需要编写一个映射到新表的休眠实体类,这并不理想,因为它需要编码。有没有办法使用添加新客户时添加的休眠来管理/映射此类动态表?
【问题讨论】:
标签: spring hibernate database-design multi-tenant