Таблица: "ID" INTEGER DEFAULT nextval('zakazchik_id_seq'::regclass) NOT NULL,
Сущность:
@Id
@Column(name = "\"ID\"", unique = true)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "\"zakazchik_seq_gen\"")
@SequenceGenerator(name = "\"zakazchik_seq_gen\"", sequenceName = "\"zakazchik_id_seq\"")
private Integer id;
При вставке новой строки пишет:
ERROR SqlExceptionHelper:131 - ERROR: duplicate key value violates unique
constraint "zakazchik_new_new1_new_pk_zakaz"
Подробности: Key ("ID")=(730) already exists.
Всё правильно, 730 id уже занят... и так до 743.
Через hibernate только сейчас начал работать, до этого всё было через jdbc с жутким собиратором sql-запросов.
Почему он начал назначать старые id начиная с 700-го, я же ему указал zakazchik_id_seq
?
необходимо установить
@Column(name = "ID", unique = true, updatable = false, nullable = false)
@SequenceGenerator(name = "zakazchik_seq_gen", sequenceName = "zakazchik_id_seq", allocationSize=1)
По-умолчанию Hibernate использует алгоритм HiLo и резервирует 50 значений.
Вот описание на хабре
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
При запуске любой процедуры Maven в IntelliJ IDEA (clean или build) Maven ругается на мой файл settingxml: