我如何获得实体ID(主键(很难猜测?
理想是8或16位随机唯一数字或字符串。
我尝试了UUID,但由于报告了错误(https://github.com/h2database/h2database/h2database/sissues/345(。
或ID很难...如何在创建时与随机唯一数字自动生成另一列?
我需要随机的,难以猜测的,每个用户的唯一ID对于外部API。
感谢您的建议。:(
您可以使用@PrePersist
注释将值分配给另一列。类似:
public class MyClass {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
protected T id;
@Column
protected String clientKey;
@PrePersist
public void ensureClientKeyGenerated() {
this.clientKey = UUID.randomUUID();
}
}