Měl jsem stejný problém. Souvisí to se strategiemi přidělování id Hibernate. Když zvolíte GenerationType.SEQUENCE Hibernate používá strategii HiLo, která standardně přiděluje ID v blocích po 50. Můžete tedy explicitně nastavit allocationSize hodnotu takto:
@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;
}
Slyšel jsem však také názory, že použití strategie HiLo s allocationSize=1 není dobrá praxe. Někteří lidé doporučují použít GenerationType.AUTO místo toho, když se musíte vypořádat se sekvencemi spravovanými databází
Aktualizace: Nakonec jsem šel s přidělením velikosti =1 a zdá se, že věci fungují tak, jak očekávám. Moje aplikace je taková, že bloky ID stejně opravdu nepotřebuji, takže YMMV.