2015-09-25 2 views
0

У меня есть ситуация, когда мне нужно сделать около 25000 вставок в БД. Первичный ключ создается с использованием последовательности БД. Я вижу, что сначала он пытается создать 1000 уникальных идентификаторов, а затем вставляет 1000 записей в БД. Есть ли механизм, чтобы остановить это?Спящий режим вставки данных в пакетном режиме, может быть остановлен?

+0

@Id @GeneratedValue (стратегия = GenerationType.AUTO, генератор = "SEQ_NAME") @SequenceGenerator (имя = "SEQ_NAME", SequenceName = "SEQ_NAME", allocationSize = 10) @Column (имя = "RATEQUOTEID" , nullable = false) private Long rateQuoteId = null; –

ответ

0

Попробуйте что-то вроде этого:

@Id 
@GeneratedValue(strategy=GenerationType.AUTO) 
private int id; 

Помните это Int = 0, так что спящий режим не думает, что вы пытаетесь обновить существующую строку.

+0

int не имеет значения, потому что значение столбца слишком велико для размещения в нем –

+0

Можете ли вы использовать длинный вместо этого? Если он больше, чем длинный, то я считаю, что вам придется использовать UUID. Инт составляет 2,147,483,647, а длинный - до + 2223 372 036 854 775 807. UUID может содержать до 2^128 значений. – chaos

Смежные вопросы