Yo tuve el mismo problema. Está relacionado con las estrategias de asignación de id de Hibernate. Cuando elige GenerationType.SEQUENCE , Hibernate usa la estrategia HiLo que asigna ID en bloques de 50 por defecto. Entonces puede establecer explícitamente allocationSize valor como este:
@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;
}
Sin embargo, también escuché opiniones de que usar la estrategia HiLo con allocationSize=1 no es una buena práctica. Algunas personas recomiendan usar GenerationType.AUTO en cambio, cuando tiene que lidiar con secuencias administradas por bases de datos
Actualización: Terminé yendo con el tamaño de asignación =1, y las cosas parecen funcionar como espero ahora. Mi aplicación es tal que realmente no necesito bloques de ID de todos modos, así que YMMV.