Вы используете глобальный генератор последовательностей, который в спящем режиме предоставляет по умолчанию, если не предоставлен генератор, как указано в спецификации JPA.Чтобы иметь частный генератор, вы должны объявить частный генератор с аннотацией @SequenceGenerator
и установить атрибут generator
аннотации @GeneratedValue
Извлечено из javadoc
@ GeneratedValue
(Необязательно) Имя генератора первичного ключа для использования, как указано в аннотации SequenceGenerator или TableGenerator.
По умолчанию используется генератор идентификаторов, предоставленный поставщиком сохраняемости.
SequenceGenerator
Эта аннотация определяет генератор первичного ключа, на который можно ссылаться по имени, если для аннотации GeneratedValue указан элемент генератора.Генератор последовательности может быть указан в классе сущности или в поле или свойстве первичного ключа.Область имени генератора является глобальной для единицы сохраняемости (для всех типов генераторов).
Пример:
@SequenceGenerator(name="EMP_SEQ", sequenceName="private_sequence")
Hibernate рекомендует, чтобы новые проекты использовали hibernate.id.new_generator_mappings = true, поскольку новые генераторы более эффективны и ближе кСемантическая спецификация JPA 2
Раздел 1.3.Свойства
2.2.3.Свойства идентификатора сопоставления
Полный пример
@Entity
@SequenceGenerator(name="PRIVATE_SEQ", sequenceName="private_sequence")
public class test {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator="PRIVATE_SEQ")
Long id;
}