我在网上阅读了几篇关于 Multi-Tenancy (针对 SaaS 应用程序中的不同客户)的文章(即 this 和 that 和 that)。一旦您决定采用基于鉴别器的方法,hibernate doc states ,这在版本 4 中不受支持,但会在版本 5 中出现。
不过,您可能会找到几篇关于为此目的使用 hibernate 过滤器的文章(即 this 和 that)。
我想知道,如果基于过滤器的解决方案没问题,为什么在第 5 版中会有一些特殊的实现。因此:基于过滤器的解决方案的缺点是什么? (我有 read(参见 06/Dec/11 的评论)他们不适用于 find 语句。但似乎没有其他来源同意这一点。这是真的吗?)
最佳答案
基于过滤器的解决方案的一些缺点:
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "ARTICLE_ID")
@Filter(name = "tenantFilter", condition = "tenant_id = :tenantId")
private List<ArticleChild> children;
关于Hibernate:使用过滤器的基于鉴别器的 Multi-Tenancy ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12894357/