Hibernate предоставляет различные методы генерации идентификаторов.
Вот список некоторых часто используемых генераторов в hibernate:
increment : генерирует идентификаторы типа long, shortили int, которые являются уникальными, только когда никакой другой процесс не вставляет данные в ту же таблицу.Он не должен использоваться в кластерной среде.
identity : он поддерживает столбцы идентификаторов в DB2, MySQL, MS SQL Server, Sybase и HypersonicSQL.Возвращаемый идентификатор имеет тип long, short или int.
sequence : генератор последовательности использует последовательность в DB2, PostgreSQL, Oracle, SAP DB, McKoi или генератор в Interbase.Возвращаемый идентификатор имеет тип long, short или int
hilo : Генератор hilo использует алгоритм hi / lo для эффективного генерирования идентификаторов типа long, short или int с учетом таблицы истолбец (по умолчанию hibernate_unique_key и next_hi соответственно) как источник значений hi.Алгоритм hi / lo генерирует идентификаторы, которые являются уникальными только для конкретной базы данных.Не используйте этот генератор с соединениями, включенными в JTA, или с предоставленным пользователем соединением.
seqhilo : генератор seqhilo использует алгоритм hi / lo для эффективной генерации идентификаторов типа long, shortили int, для заданной именованной последовательности базы данных.
uuid : генератор uuid использует 128-битный алгоритм UUID для генерации идентификаторов строки типа, уникальных в сети (используется IP-адрес)).UUID кодируется в виде строки шестнадцатеричных цифр длиной 32.
guid : он использует сгенерированную из базы данных строку GUID на MS SQL Server и MySQL.
native : выбирает идентификатор, последовательность или hilo в зависимости от возможностей базовой базы данных.
назначено : позволяет приложению назначить идентификатор объекту перед сохранением () называется.Это стратегия по умолчанию, если элемент не указан.
select : извлекает первичный ключ, назначенный триггером базы данных, выбирая строку по некоторому уникальному ключу и получая значение первичного ключа.
foreign : использует идентификатор другого связанного объекта.Обычно используется в сочетании с первичным ключом связи.Ссылки по теме от Google