首页 > 解决方案 > 如何使 ID 不连续?

问题描述

我有一个实体

@Entity
data class Person (
    @Id @GeneratedValue
    val id: Long
)

但我注意到的值id是连续的。有没有办法让 Spring Boot 让它们更加随机?

标签: spring-bootkotlin

解决方案


您可以创建自定义标识符生成器并使用它。

@Entity
public class Book {

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq")
    @GenericGenerator(
        name = "seq", 
        strategy = "com.java.generators.SequenceIdGenerator", 
        parameters = {...})
    private String id;

    ...
}

在这里你应该com.java.generators.SequenceIdGenerator自己创建

关于这个的一个很好的教程


推荐阅读