Jeg havde samme problem. Det er relateret til id-allokeringsstrategierne i Hibernate. Når du vælger GenerationType.SEQUENCE , Hibernate bruger HiLo-strategi, som tildeler ID'er i blokke på 50 som standard. Så du kan udtrykkeligt indstille allokationsstørrelse værdi som denne:
@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;
}
Jeg har dog også hørt meninger om, at brug af HiLo-strategi med allocationSize=1 er ikke en god praksis. Nogle mennesker anbefaler at bruge GenerationType.AUTO i stedet når du skal håndtere databasestyrede sekvenser
Opdatering: Jeg endte med at gå med allocationSize=1, og tingene ser ud til at fungere, som jeg forventer nu. Min ansøgning er sådan, at jeg alligevel ikke har brug for blokke af ID'er, så YMMV.