我有一个用于库存监控站点的 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