[英]Hibernate 4.x Multi-tenancy ID generation issues with MYSQL
我们正在使用Hibernate 4.x通过每个租户使用单独的DATABASE实现多租户。
我们正在使用Hibernate提供的增量策略来生成ID。
ID生成并非特定于租户。
有什么方法可以限制特定于租户的ID生成,而不是从公共缓存中获取。
我看到的另一个问题是服务器重新启动。
服务器重新启动后,如果对租户1进行了第一个SQL操作,则Hibernate开始缓存从租户1数据库中的Id引用的ID。 如果随后的操作在其他租户上执行并且已经具有Hibernate缓存提供的Id值,则可能会产生冲突。
我本可以使用序列来生成ID,但是MYSQL不支持序列。
有什么方法可以避免从公共缓存中获取ID?
解决此问题的方法之一是使用JPA提供的“身份” ID生成机制。 这会对性能产生影响。 但是,整个租户的ID生成都是正确的。 我已经尝试过这种方法,并且有效。
其他方法是使用使用HiLow算法的基于表的ID生成或基于UUID的ID生成方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.