我使用MultiTenantConnectionProvider
和CurrentTenantIdentifierResolver
使用休眠配置了多租户。我还写了一个截取网址的过滤器,决定谁是租户。
我有几个问题/困惑。
此设计意味着每个网址都必须带有租户ID(可能是域/子域名),对吗?怎么样呢?如何处理这种角落案件?
这种做法是正确的吗?我还考虑过在用户会话中存储租户ID,但我认为这不是一个好主意。 (过去我在会话中存储某些内容时遇到了问题,并且它在某些情况下有其局限性)。
我对这两种方法感到困惑,是否有任何第三种方法请建议。我选择了SCHEMA
hibernate的多租户策略。
答案 0 :(得分:0)
实施多租户设计的最佳方法是在每个交易表中使用Tenant_ID,并在一个主表中存储租户信息。
我们需要发送tenant_id的每个请求。 如果您有默认租户要求,如果没有tenant_id来插入数据,您可以实现该行为。 您无法在另一个租户中插入一个租户数据,因此tenant_id是强制性的,Tenant_ID应该有适当的验证。