在数据库设计中,考虑主键时,使用UUID与Long数据类型相比有何优缺点?
我遇到了两个不同的教程,分别实现了它们,我只是好奇哪一个更好。
比较 UUID 和 Long 作为数据库中主键的类型:
1。长:
`
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
`
此代码将生成一个 increasing-from-0 键。例如:
0, 1, 2, ...
。当然,“从 0 开始递增”密钥对于 XSS 之类的攻击并不安全(因为其易于预测的属性)。
2。 UUID:
558012d6-7db5-4053-b838-6a1ef4ad019b
),但它是随机,有点慢并且更难预测。这意味着它比Long更安全。
,因为它更容易在程序中实现。