字符串ID JPA / Hibernate中的主键生成器

时间:2018-04-23 12:14:17

标签: spring hibernate jpa id-generation

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

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

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

我想将它存储在MongoDB中

1 个答案:

答案 0 :(得分:2)

您必须通过实施hibernate' try{ .... } catch (error: InterruptedException) { emitter.tryOnError(BackupException(error.message ?: "unknown exception")) } 来创建自定义ID生成器。

IdentifierGenerator

然后使用它:

public class SomeCustomGenerator implements IdentifierGenerator {

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

查看example