如何才能让实体id(主键)难以猜测?理想的是8或16位随机唯一数字或字符串。我尝试了uuid,但是由于报告的bug,我的h2测试失败了(https://github.com/h2database/h2database/issues/345).或者如果身份证不好。。。如何在创建时使用随机唯一数自动生成另一列?我需要随机,难以猜测,每个用户的外部api唯一的id。感谢您的建议。:)
0pizxfdo1#
可以使用为另一列赋值 @PrePersist 注解。比如:
@PrePersist
public class MyClass { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) protected T id; @Column protected String clientKey; @PrePersist public void ensureClientKeyGenerated() { this.clientKey = UUID.randomUUID(); } }
1条答案
按热度按时间0pizxfdo1#
可以使用为另一列赋值
@PrePersist
注解。比如: