gpt4 book ai didi

java - Hibernate 4.x MYSQL Multi-Tenancy ID 生成问题

转载 作者:行者123 更新时间:2023-11-29 23:41:58 24 4
gpt4 key购买 nike

我们正在使用 Hibernate 4.x 来实现 Multi-Tenancy ,每个租户都有单独的数据库。

我们使用 Hibernate 提供的增量策略来生成 ID。

ID 生成并非特定于租户。

有什么方法可以限制特定于租户的 ID 生成,而不是从公共(public)缓存中获取。

我看到的另一个问题是服务器重新启动。

服务器重新启动后,如果租户 1 发生第一个 SQL 操作,则 Hibernate 开始缓存从租户 1 数据库的 Id 引用的 ID。如果后续操作是在其他租户上执行并且它已经具有 Hibernate 缓存提供的 Id 值,这可能会产生冲突。

我本可以使用序列来生成 ID,但 MYSQL 不支持序列。

有什么方法可以避免从公共(public)缓存中获取 ID 吗?

最佳答案

处理这个问题的方法之一是使用JPA提供的“Identity”ID生成机制。这会对性能产生影响。但跨租户的 ID 生成将是正确的。我尝试过这种方法并且有效。

其他方法是使用 HiLow 算法使用基于表的 ID 生成或基于 UUID 的 ID 生成方法。

关于java - Hibernate 4.x MYSQL Multi-Tenancy ID 生成问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26120089/

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