【问题标题】:Hibernate GeneratedValue starting from 1 although there are some dataHibernate GeneratedValue 从 1 开始虽然有一些数据
【发布时间】:2019-02-23 18:55:31
【问题描述】:

我正在开发一个运行良好的 spring-hibernate 应用程序,直到我选择迁移到 SQL Server 以轻松导入一些数据

问题是在导入之后(ID栏是用数字填充到18000), 当我尝试向我的数据库中添加另一行时,hibernate 会从 1 开始生成 ID(我使用了 Auto、Table、Sequence 和 Identity)

这个问题有解决办法吗?

或者我应该从 ID 列的大值开始导入数据?

提前致谢。

【问题讨论】:

    标签: java spring hibernate spring-boot hibernate-mapping


    【解决方案1】:

    你可以这样使用:

    @Entity
    @SequenceGenerator(name="seq", initialValue=18000, allocationSize=100)
    public class EntityWithSequenceId {
    
        @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="seq")
        @Id long id;
    
    }
    

    【讨论】:

    • 非常感谢你救了我。虽然我不知道 allocationSize 是什么意思? 100 或 50 会有所不同吗?
    猜你喜欢
    • 2015-11-27
    • 1970-01-01
    • 2017-04-22
    • 2018-10-21
    • 2021-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多