При определении идентификатора - первичного ключа - таблицы в Hibernate можно явно указать стратегию генерации его значения. Делается это в мэпинге с помощью тега generator, у которого указывается атрибут class. Например, так:
<id name="uid" column="uuid" type="string" length="32">
<generator class="ru.naumen.bpm.commons.util.PrefixUUIDGenerator"/>
</id>
<generator class="ru.naumen.bpm.commons.util.PrefixUUIDGenerator"/>
</id>
Помимо того, что можно определить свою стратегию генерации как класс, реализующий интерфейс org.hibernate.id.IdentifierGenerator, фреймворк содержит ряд уже готовых генераторов. Рассмотрим их подробнее.