Имах същия проблем. Това е свързано със стратегиите за разпределяне на идентификатори на Hibernate. Когато изберете GenerationType.SEQUENCE , Hibernate използва стратегия HiLo, която разпределя идентификатори в блокове от 50 по подразбиране. Така че можете изрично да зададете allocationSize стойност като тази:
@Id
@SequenceGenerator(name="pk_sequence",sequenceName="entity_id_seq", allocationSize=1)
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="pk_sequence")
@Column(name="id", unique=true, nullable=false)
public int getId() {
return this.id;
}
Въпреки това, също съм чувал мнения, че използването на стратегията HiLo с allocationSize=1 не е добра практика. Някои хора препоръчват да използвате GenerationType.AUTO вместо това, когато трябва да се справите с управлявани от база данни последователности
Актуализация: В крайна сметка преминах с allocationSize=1 и нещата изглежда работят, както очаквам сега. Моето приложение е такова, че всъщност не ми трябват блокове от идентификатори, така че YMMV.