Я никогда не использовал это раньше, но в спецификации нативный вариант объясняется ниже.
Он выбирает идентичность, последовательность или hilo, в зависимости от базы данных.
Это как-то расплывчато для меня.
То, что я понимаю, зависит от базы данных, она будет выбирать разные идентификаторы, и база данных физически должна иметь объект, например, идентификатор или последовательность.
Для меня я использую Oracle, поэтому я специально использую
<generator class="sequence">
<param name="sequence">SEQUENCE_NAME</param>
</generator>
Если вы используете одну отдельную БД, пожалуйста, используйте более конкретный класс.
Надеюсь, это поможет.