Спящий режим с MySQL: автогенерация идентификатора: эквивалент последовательности (Oracle) в MySQL - PullRequest
5 голосов
/ 23 июля 2010

Насколько я понимаю, когда класс Native используется для автоматической генерации идентификаторов в Oracle, создается единая последовательность гибернации, из которой все идентификаторы передаются в любую нужную таблицу.

Но я не вижу, чтобы это случилось с MySQL.Вместо этого идентификаторы для каждой таблицы начинаются с 1.

Пожалуйста, исправьте меня, если я не прав.

Кроме того, если я хочу, чтобы то же самое происходило с MySQL, что должно быть сделано.

Спасибо всем.

Радж.

1 Ответ

6 голосов
/ 24 июля 2010

Насколько я понимаю, когда класс Native используется для автоматической генерации идентификаторов в Oracle, создается единая последовательность гибернации, из которой все идентификаторы передаются в любую нужную таблицу.

Это происходит, если вы не указали никакого имени последовательности, в отличие от этого:

<generator class="sequence">
  <param name="sequence">employer_id_seq</param>
</generator>

И на самом деле большую часть времени люди НЕ хотят уникальной последовательности, они предпочитают одну последовательность на таблицу.

Но я не вижу, чтобы это случилось с MySQL. Вместо этого идентификаторы для каждой таблицы начинаются с 1.

В MySQL генератор native по умолчанию будет использовать стратегию identity, то есть будут использовать столбцы идентификаторов, которые относятся к таблице.

Кроме того, если я хочу, чтобы то же самое происходило в MySQL, что нужно сделать.

Тем же, я полагаю, вы имеете в виду использование последовательных идентификаторов для всех ваших сущностей. Попробуйте генератор table:

<generator class="table">
</generator>

Но это не будет работать так же хорошо, как столбцы последовательности или идентификаторов. Кроме того, люди обычно предпочитают не делиться идентификаторами между сущностями, как я уже писал. Я бы подумал об этом снова.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...