如何创建一个新的 SequenceGenerator 来生成唯一值?

发布于 2024-11-26 16:59:42 字数 316 浏览 0 评论 0原文

我想知道如何为 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月棠 2024-12-03 16:59:42

对于存储在数据库中,这并没有更有效。对于显示,您可以使用 Base64 或 Base32 编码。

For storing in the database this is not more efficient. For display you can use Base64 or Base32 encoding.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文