如何创建一个新的 SequenceGenerator 来生成唯一值?
我想知道如何为 JPA 创建我自己的自定义 id 生成器。我不想只创建一个数字增量器生成器,而是创建一个区分大小写的字母数字生成器,类似于 URL 缩短器跟踪站点的方式。
例如,URL 缩短器不使用数字键,因为与区分大小写的字母数字生成器相比,它们效率较低。本质上,像 urlshortener.com/20
这样的内容可以缩写为 urlshortener.com/t
。随着数字的增加,这种差异会呈指数级增长,因为它是 10^n 与 62^n,其中 n 是可用位数。
如何在 JPA 中将其实现为 SequenceGenerator?
I'd like to know how to create my own custom id generator for JPA. Instead of just having a generator which is a numeric incrementer, I'd like to create an alphanumeric, case-sensitive generator, akin to how URL shorteners keep track of sites.
For example, URL shorteners don't use numerical keys because they are inefficient in comparison to a case-sensitive alphanumeric generator. Essentially, something like urlshortener.com/20
could be shortened as urlshortener.com/t
. This difference becomes exponentially better as numbers increase, as it's 10^n vs 62^n where n is the number of digits available.
How can I implement this in JPA as a SequenceGenerator?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
对于存储在数据库中,这并没有更有效。对于显示,您可以使用 Base64 或 Base32 编码。
For storing in the database this is not more efficient. For display you can use Base64 or Base32 encoding.