gpt4 book ai didi

java - 如何将数据库生成的随机唯一值分配给Hibernate POJO的字段

转载 作者:行者123 更新时间:2023-12-02 09:47:22 26 4
gpt4 key购买 nike

问题是我需要为 Java 中的 POJO 字段之一生成唯一值。我正在使用 hibernate 。

使用序列生成器解决这个问题非常简单,但在我的现实中,我每次都需要使其随机,并且我需要它的值在 10^5 和 10^6 之间 - 它必须是 6 位数字。

所以,在Java服务中本地生成它也不是问题,但是如果我还有2个相同的服务怎么办?如果他们生成相同的数字,这会破坏我的数字的唯一性怎么办?这就是为什么我需要由数据库生成该数字。

请告诉我实现这一目标的最佳方法。我需要遵循什么策略。谢谢

最佳答案

无需在 ORM 级别执行此操作。只需让数据库引擎自动递增它即可。

创建表时,您可以将字段设置为唯一并从 100,000 开始自动递增AUTO_INCRMENT = 100000;

您的号码将保证是唯一的。

如果您将现有最高数字的检查和插入操作放在同一事务中,您也可以在服务级别手动执行此操作。

您也可以通过触发器来完成此操作。

关于java - 如何将数据库生成的随机唯一值分配给Hibernate POJO的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56546387/

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