Khi bạn tạo bigserial
trong Postgresql, bạn thực sự đang tạo một chuỗi . Khi bạn chèn giá trị ID '1' theo cách thủ công, Postgresql đã không cập nhật trình tự để tính đến điều này. Hibernate cho phép Postgresql sử dụng trình tự để tạo ID, nhưng giá trị đầu tiên được tạo là '1', giá trị này xung đột. Giá trị thứ hai là tốt.
Nếu bạn đã tạo ra sự cố bằng cách chuyển sang chế độ Hibernate và sử dụng SQL trực tiếp, bạn nên khắc phục sự cố theo cách tương tự: sử dụng ALTER SEQUENCE
để đặt giá trị tiếp theo
:
alter sequence basedesign_id_seq restart with 2;