Hibernate вставка с генерацией идентификатора на вставке триггера с последовательностью - PullRequest
0 голосов
/ 27 апреля 2019

Здесь моя проблема, у меня есть последовательность в моей базе данных оракула и триггер на вставке, чтобы извлечь следующее значение из последовательности и поставить его как 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 не вызывал базу данных каждый разЯ вставляю и могу выполнять пакетную вставку.

Редактировать: мне, вероятно, понадобится вставить около миллиона строк

...