У меня есть таблица MySQL с именем Invoice для сайта Inventory Monitoring, invoice_number - это поле bigint (19) AUTO_INCREMENT.
В настоящее время значение AUTO_INCREMENT равно 1.
Клиент хочет, чтобы invoice_number начинался с 50000. С помощью следующего сценария сбросьте ALTER TABLE INVOICES AUTO_INCREMENT = 50000; Когда я написал сценарий вставки для вставки данных в SQLDBX, он помещает invoice_number из 50000. Но когда я пытаюсь вставить запись с помощью приложения (веб-приложения), значение invoice_number начинается с 1. Мы используем шаблона Spring-JDBC для вставки данных в базу данных mysql.
Проблема связана с отображением Hibernate HBM для Invoice. Класс генератора для номера счета-фактуры - Приращение.
<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