我需要为数据库主键列生成唯一的Long ID。
我以为我可以使用 UUID.randomUUID()。getMostSignificantBits(),
但是有时它会产生一些负数,这对我来说也是个问题。
是否有可能仅从UUID生成正数长?会有数十亿个条目,因此我希望每个生成的键必须唯一。
UUID.randomUUID().getMostSignificantBits() & Long.MAX_VALUE
之所以起作用,是因为当您按位与1进行操作时,它允许按原样传递同一位数字;当您按位与0进行操作时,它将阻止该位,结果为0。现在,二进制中的Long.MAX_Value为
0111111111111111111111111111111111111111111111111111111111111111
这是0,然后是63 1s(总共是64位,在Java中很长)
因此,当您按位&数字X与该数字相同时,您将得到相同的数字X,但最左边的位现在变为零。这意味着您仅更改了该数字的符号,而没有更改该值。
问题内容: 如何使用数据库查询回调设置变量值?我该怎么办? 问题答案: 自从使用node.js已经有一段时间了,但是我想我可以提供帮助。 首先,在node中,您只有一个线程,应该使用回调。您的代码将发生的情况是查询将排队等待执行,但是循环将毫无意义地连续作为繁忙循环运行。 您应该可以通过以下回调来解决您的问题: 并这样使用 我在大约2年内没有编写任何node / js的代码,也没有进行测试,但是基
我是xslt的新手。我想使用xslt生成32位长UUID并将其作为输入添加到xml中。我试图使用数学自由的随机函数,但得到错误。 输入XML XSLT代码段 我正在使用在线编辑器,但得到如下异常。http://xslttest.appspot.com/ 错误:找不到名为的匹配0参数函数{http://exslt.org/math}随机()。没有具有本地名称random的Saxon扩展函数 实际上,
问题内容: 我有一个带有String的对象,该对象具有唯一的id。(例如“ ocx7gf”或“ 67hfs8”),我需要为其提供int hascode()的实现,该实现显然是唯一的。 如何以最简单/最快的方式将字符串转换为唯一的int? 10倍 编辑-确定。我已经知道String.hashcode是可能的。但是不建议在任何地方使用。实际上’,如果不建议使用其他任何方法- 如果我的对象在集合中并且需
本文向大家介绍python uuid生成唯一id或str的最简单案例,包括了python uuid生成唯一id或str的最简单案例的使用技巧和注意事项,需要的朋友参考一下 介绍: UUID是128位的全局唯一标识符,通常由32字节的字符串表示。 使用: uuid1()——基于MAC地址、当前时间戳、随机数生成。 uuid3()——基于名字的MD5散列值。 uuid4()——基于随机数,有一定的重复
我想加入两个模型,都使用org。冬眠主键的id.UUIDGenerator。但在启动时,我得到以下错误: 组织。冬眠工具模式。spi。CommandAcceptanceException:通过JDBC语句执行DDL“alter table user_role add constraint FK5scdquo6f12cpstqai86x4biw外键(roles_role_id)references