|
Generator
|
Description
|
|
increment
|
It generates identifiers of type long, short or int that are unique only
when no other process is inserting data into the same table. It should
not the used in the clustered environment.
|
|
identity
|
It supports identity columns in DB2, MySQL, MS SQL Server, Sybase and
HypersonicSQL. The returned identifier is of type long, short or int.
|
|
sequence
|
The sequence generator uses a sequence in DB2, PostgreSQL, Oracle, SAP
DB, McKoi or a generator in Interbase. The returned identifier is of
type long, short or int
|
|
hilo
|
The hilo generator uses a hi/lo algorithm to efficiently generate
identifiers of type long, short or int, given a table and column (by
default hibernate_unique_key and next_hi respectively) as a source of hi
values. The hi/lo algorithm generates identifiers that are unique only
for a particular database. Do not use this generator with connections
enlisted with JTA or with a user-supplied connection.
|
|
seqhilo
|
The seqhilo generator uses a hi/lo algorithm to efficiently generate
identifiers of type long, short or int, given a named database sequence.
|
|
uuid
|
The uuid generator uses a 128-bit UUID algorithm to generate identifiers
of type string, unique within a network (the IP address is used). The
UUID is encoded as a string of hexadecimal digits of length 32.
|
|
guid
|
It uses a database-generated GUID string on MS SQL Server and MySQL.
|
|
native
|
It picks identity, sequence or hilo depending upon the capabilities of
the underlying database.
|
|
assigned
|
lets the application to assign an identifier to the object before save()
is called. This is the default strategy if no <generator> element
is specified.
|
|
select
|
retrieves a primary key assigned by a database trigger by selecting the
row by some unique key and retrieving the primary key value.
|
|
foreign
|
uses the identifier of another associated object. Usually used in
conjunction with a <one-to-one> primary key association.
|