J'ai eu le même problème. Il est lié aux stratégies d'allocation d'identifiants d'Hibernate. Lorsque vous choisissez GenerationType.SEQUENCE , Hibernate utilise la stratégie HiLo qui alloue les identifiants par blocs de 50 par défaut. Vous pouvez donc définir explicitement allocationSize valeur comme ceci :
@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;
}
Cependant, j'ai également entendu des opinions selon lesquelles l'utilisation de la stratégie HiLo avec allocationSize=1 n'est pas une bonne pratique. Certaines personnes recommandent d'utiliser GenerationType.AUTO à la place lorsque vous devez gérer des séquences gérées par la base de données
Mise à jour : J'ai fini par utiliser allocationSize=1, et les choses semblent fonctionner comme je m'y attends maintenant. Mon application est telle que je n'ai pas vraiment besoin de blocs d'identifiants de toute façon, donc YMMV.