मैंने समस्या को निम्नानुसार हल किया। Oracle12cDialect के लिए एक एक्सटेंशन बनाया गया। कॉलम के अधिकतम/न्यूनतम मान को 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";
}
}
application.properties फ़ाइल में एक बोली कार्यान्वयन को संदर्भित किया जाता है
spring.jpa.properties.hibernate.dialect=ru.mvawork.hibernate.CustomOracleDialect
आप न्यूनतम और अधिकतम मानों को सीमित करके अनुक्रमों को फिर से बना सकते हैं। मेरे मामले में, मैं यह नहीं कर सकता। मेरे द्वारा उपयोग की जाने वाली प्राथमिक कुंजियों में आयाम संख्या (12) होती है, जो -9223372036854775807 से 9223372036854775808 तक की सीमा के भीतर बड़े अंतर के साथ आती है