J'ai résolu le problème comme suit. Création d'une extension pour Oracle12cDialect. Limité la valeur maximale/minimale des colonnes à SQL
package ru.mvawork.hibernate;
import org.hibernate.dialect.Oracle12cDialect;
@SuppressWarnings("unused")
public class CustomOracleDialect extends Oracle12cDialect {
@Override
public String getQuerySequencesString() {
return "select SEQUENCE_OWNER, SEQUENCE_NAME, greatest(MIN_VALUE, -9223372036854775807) MIN_VALUE,\n"+
"Least(MAX_VALUE, 9223372036854775808) MAX_VALUE, INCREMENT_BY, CYCLE_FLAG, ORDER_FLAG, CACHE_SIZE,\n"+
"Least(greatest(LAST_NUMBER, -9223372036854775807), 9223372036854775808) LAST_NUMBER,\n"+
"PARTITION_COUNT, SESSION_FLAG, KEEP_VALUE\n"+
"from all_sequences";
}
}
Dans le fichier application.properties fait référence à une implémentation de dialecte
spring.jpa.properties.hibernate.dialect=ru.mvawork.hibernate.CustomOracleDialect
Vous pouvez recréer des séquences en limitant les valeurs minimales et maximales. Dans mon cas, je ne peux pas le faire. Les clés primaires que j'utilise ont la dimension Nombre (12), qui se situe dans la limite de la plage allant de -9223372036854775807 à 9223372036854775808 avec une grande marge