【发布时间】:2018-11-09 10:24:59
【问题描述】:
我的实体需要一个唯一的字母数字 code。
这不是身份证。还有身份证。而且,这个code 字段是独一无二的。
会是这样的
"BS" + 6 alphanumeric chars
6 个字母数字。
“BS”是默认字符串。所以,他们都将在开头有“BS”
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(name = "id", updatable = false, nullable = false)
private Long id;
我正在使用弹簧靴。使用休眠,我可以做这样的事情,但我需要将尺寸设为 8 或 6+2。
我的 sql 也有 @Generator 但我做不到
而且每次,我都不想从数据库中获取、递增和保存。我觉得这不是好办法?
我能做什么?自定义generator?
我也在找这个
https://stackoverflow.com/a/47934704/10309977
但没办法看到做
大约有 1000 代。所以每年大约 1-10 百万。
【问题讨论】:
-
似乎是一个 GUID 的好地方
-
@RyanPierceWilliams 喜欢这样吗? stackoverflow.com/a/17183247/10309977
-
我自己会使用完整的 GUID。易于在客户端生成,冲突几率极低,几乎不存在。
-
@RyanPierceWilliams 喜欢这样吗? stackoverflow.com/a/45055701/10309977我想用hibernate但是好像我也需要用java写
-
不,你不只是想要一个随机字符串。你想要一个 Guid/UUID。见这里:stackoverflow.com/questions/2982748/create-a-guid-in-java
标签: hibernate spring-boot