gpt4 book ai didi

Hibernate:使用过滤器的基于鉴别器的 Multi-Tenancy ?

转载 作者:行者123 更新时间:2023-12-04 08:45:23 28 4
gpt4 key购买 nike

我在网上阅读了几篇关于 Multi-Tenancy (针对 SaaS 应用程序中的不同客户)的文章(即 thisthatthat)。一旦您决定采用基于鉴别器的方法,hibernate doc states ,这在版本 4 中不受支持,但会在版本 5 中出现。

不过,您可能会找到几篇关于为此目的使用 hibernate 过滤器的文章(即 thisthat)。

我想知道,如果基于过滤器的解决方案没问题,为什么在第 5 版中会有一些特殊的实现。因此:基于过滤器的解决方案的缺点是什么? (我有 read(参见 06/Dec/11 的评论)他们不适用于 find 语句。但似乎没有其他来源同意这一点。这是真的吗?)

最佳答案

基于过滤器的解决方案的一些缺点:

  • 持久化时,必须注意tenant_id,它不会自动持久化。可能可以使用@PrePersist 回调方法。
  • 方法 entityManager.find(EntityClass.class, "ID") 不考虑过滤器值
  • 必须像这样处理@OneToMany 关系:

  •      @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/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com