2014-01-09 3 views
2

Как мы знаем, мы всегда используем Auto-Increment для первичного ключа.Как работает спящий режим Auto-Increment?

Я интересно, как работает автоинкрементируемая для MySQL и спящего режим

Например, Lastest первичного ключа значение в таблице 10000. Как зимует понять текущее значение первичного ключа является 10000 и следующей значение должно быть 10001? Как mysql знает, что является следующим значением первичного ключа для таблицы?

ответ

2

Я предполагаю, что вы используете GenerationType.AUTO, чтобы Hibernate определял, как обрабатывать генерации идентификаторов. Вот аналогичный вопрос: Who is responsible of the auto-incrementation of a primary key between MySQL and Hibernate?

Итак, для MYSQL спящий режим по умолчанию установлен на AUTO_INCREMENT MYSQL. Объяснение AUTO_INCREMENT можно найти здесь: http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html

А как Hibernate/MYSQL знает последний сгенерированный идентификатор, MYSQL имеет столбец AUTO_INCREMENT для каждой таблицы, которая задана AUTO_INCREMENT стратегия генерации ID, в котором совсем недавно генерируется идентификатор сохраняются.

Смежные вопросы