Здесь моя проблема, у меня есть последовательность в моей базе данных оракула и триггер на вставке, чтобы извлечь следующее значение из последовательности и поставить его как id.С таким инструментом, как sql developer, он работает отлично.
Мой идентификатор определен в этом
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "MY_SEQUENCE")
@SequenceGenerator(sequenceName = "MY_SEQUENCE", allocationSize = 1, name = "MY_SEQUENCE")
private BigInteger jobId;
Проблема в спящем режиме: сначала прочитайте следующее значение последовательности, установите его в качестве идентификатораа затем упорствоватьЗатем моя база данных обновляет мой идентификатор следующим значением последовательности, но этот новый идентификатор не «обновляется» в моем коде после того, как мой .save(entity)
.
Я прочитал, что должен использовать GenerationType.IDENTITY
, но яхотел бы сделать пакетные вставки, и я также читал, что с IDENTITY пакетные вставки невозможны.
Если возможно, я бы хотел сохранить свой триггер так, чтобы hibernate не вызывал базу данных каждый разЯ вставляю и могу выполнять пакетную вставку.
Редактировать: мне, вероятно, понадобится вставить около миллиона строк