【问题标题】:How to make IDs non-sequencial?如何使 ID 不连续?
【发布时间】:2025-12-01 09:55:01
【问题描述】:

我有一个实体

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

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

【问题讨论】:

    标签: spring-boot kotlin


    【解决方案1】:

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

    @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

    关于this的好教程

    【讨论】: