将自动增量从默认值重置为大数字的问题

将自动增量从默认值重置为大数字的问题

我有一个用于库存监控站点的 MySQL 表,invoice_number 是 bigint(19) AUTO_INCREMENT 字段。

当前 AUTO_INCREMENT 值为 1。

客户希望发票号码从 50000 开始。使用以下脚本重置 ALTER TABLE INVOICES AUTO_INCREMENT = 50000;当我编写插入脚本以在 SQLDBX 中插入数据时,它会将发票号码从 50000 开始。但是当我尝试使用应用程序(Web 应用程序)插入记录时,发票号码值从 1 开始。我们正在利用 Spring-JDBC 模板将数据插入 mysql 数据库。

答案1

问题出在发票的 Hibernate HBM 映射上。发票编号的生成器类是 Increment。

<id name="invoiceNumber" column="INVOICE_NUMBER">
   <generator class="increment"/>
</id>

通过修改生成器类来识别它是否起作用。

<id name="invoiceNumber" column="INVOICE_NUMBER">
    <generator class="identity"/>
</id>

欲了解更多详细信息,请查看 https://stackoverflow.com/questions/1838520/hibernate-problems-with-auto-increment-id-mysql-5

相关内容