Jag hade samma problem. Det är relaterat till id-allokeringsstrategierna för Hibernate. När du väljer GenerationType.SEQUENCE , Hibernate använder HiLo-strategin som tilldelar ID:n i block om 50 som standard. Så du kan uttryckligen ställa in allocationSize värde så här:
@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;
}
Men jag har också hört åsikter om att använda HiLo-strategi med allocationSize=1 är inte en bra praxis. Vissa rekommenderar att du använder GenerationType.AUTO istället när du har att göra med databashanterade sekvenser
Uppdatering: Det slutade med att jag fick allocationSize=1, och saker och ting verkar fungera som jag förväntar mig nu. Min applikation är sådan att jag egentligen inte behöver block med ID i alla fall, så YMMV.