JPA/Hibernate 中的字符串 ID 主键生成器
String ID Primary Key generator in JPA/Hibernate
我知道我们可以生成一个随机 UUID -
@Id
@GeneratedValue(generator="system-uuid")
@GenericGenerator(name="system-uuid", strategy = "uuid")
private String myId;
但是 UUID 是一个字符串,如果大小为 32。我如何生成一个大小为 6 的随机字母数字字符串并存储为 ID?
我想将其存储在 MongoDB
您必须通过实施休眠的 IdentifierGenerator
.
创建自定义 ID 生成器
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;
看看example
我知道我们可以生成一个随机 UUID -
@Id
@GeneratedValue(generator="system-uuid")
@GenericGenerator(name="system-uuid", strategy = "uuid")
private String myId;
但是 UUID 是一个字符串,如果大小为 32。我如何生成一个大小为 6 的随机字母数字字符串并存储为 ID?
我想将其存储在 MongoDB
您必须通过实施休眠的 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;
看看example