1

我知道我们可以生成一个随机的 UUID -

@Id
@GeneratedValue(generator="system-uuid")
@GenericGenerator(name="system-uuid", strategy = "uuid")
private String myId;

但是如果 UUID 大小为 32,则 UUID 是一个字符串。如何生成大小为 6 的随机字母数字字符串并存储为 ID?

我想把它存储在 MongoDB

4

1 回答 1

3

您必须通过实现 hibernate 的IdentifierGenerator.

public class SomeCustomGenerator implements IdentifierGenerator {

    @Override
    public Serializable generate() {...}
}

然后使用它:

@Id
@GeneratedValue(generator = "cust-generator")
@GenericGenerator(name = "cust-generator", strategy = "com...generator.SomeCustomGenerator")
private String myId;

看一下例子

于 2018-04-23T12:39:22.797 回答