Bonjour
J'ai un ID dans une table qui est alimenté par une séquence.
Suite à une modification, nous avons décidé d'alimenter cet ID par un numéro incrémenté avec un mécanisme extérieur. Donc la séquence n'a pas été utilisée pendant un certain temps.
Mais finalement nous sommes revenus sur la séquence. J'ai donc effectué toute une série de select nextval from dual pour que la séquence rattrape son retard et arrive au même niveau que le dernier numéro que nous avions généré nous même.
Or, depuis ce rattrapage forcé, à chaque fois que nous consommons la séquence, nous obtenons un numéro différent de ce qui est indiqué dans la propriété LAST_NUMBER de la séquence.
Le résultat obtenu suit toujours la règle :
numéro obtenu = (LAST_NUMBER - CACHE_SIZE) * 50
Je précise que l'écriture en base se fait au moyen d'Hibernate, c'est donc lui qui est en charge de consommer la séquence.
Y-a-t'il une explication logique à ce comportement ?
Comment faire pour que la séquence retrouve un comportement normal ?
Merci d'avance.
Partager