{"record":{"id":"bc6e71a2cdf47a69","repo":"hibernate/hibernate-orm","slug":"cloud-spanner-does-not-support-sequences-with-an-i","errorCode":null,"errorMessage":"Cloud Spanner does not support sequences with an increment size != 1","messagePattern":"Cloud Spanner does not support sequences with an increment size != 1","errorType":"exception","errorClass":"MappingException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/dialect/sequence/SpannerSequenceSupport.java","lineNumber":36,"sourceCode":"\n\tprivate final SpannerDialect dialect;\n\n\tpublic SpannerSequenceSupport(SpannerDialect dialect) {\n\t\tthis.dialect = dialect;\n\t}\n\n\t@Override\n\tpublic String getCreateSequenceString(String sequenceName) throws MappingException {\n\t\treturn getCreateSequenceString(sequenceName, 1, 1);\n\t}\n\n\t@Override\n\tpublic String getCreateSequenceString(String sequenceName, int initialValue, int incrementSize)\n\t\t\tthrows MappingException {\n\t\tif (incrementSize == 1) {\n\t\t\treturn getCreateSequenceString(sequenceName, initialValue, \"\");\n\t\t}\n\t\tthrow new MappingException(\"Cloud Spanner does not support sequences with an increment size != 1\");\n\t}\n\n\t@Override\n\tpublic String[] getCreateSequenceStrings(String sequenceName, int initialValue, int incrementSize, String options)\n\t\t\tthrows MappingException {\n\t\tif (incrementSize == 1) {\n\t\t\treturn new String[] { getCreateSequenceString(sequenceName, initialValue, options) };\n\t\t}\n\t\tthrow new MappingException(\"Cloud Spanner does not support sequences with an increment size != 1\");\n\t}\n\n\tprotected String getCreateSequenceString(String sequenceName, int initialValue, String additionalOptions) {\n\t\tfinal var builder = new StringBuilder(\"create sequence if not exists \");\n\t\tbuilder.append(sequenceName).append(\" options(sequence_kind=\\\"bit_reversed_positive\\\"\");\n\t\tif (initialValue != 1) {\n\t\t\tbuilder.append(\", start_with_counter=\").append(initialValue);\n\t\t}\n\t\tif (isNotEmpty(additionalOptions)) {","sourceCodeStart":18,"sourceCodeEnd":54,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/dialect/sequence/SpannerSequenceSupport.java#L18-L54","documentation":"Error \"Cloud Spanner does not support sequences with an increment size != 1\" thrown in hibernate/hibernate-orm.","triggerScenarios":"Thrown at hibernate-core/src/main/java/org/hibernate/dialect/sequence/SpannerSequenceSupport.java:36 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use an increment size of 1 for sequences on Cloud Spanner","Remove the custom increment from the sequence definition, or use a table/UUID based identifier generator"],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fad1729dce015f908198d57a8d80274a30f905a5","analyzedAt":"2026-08-22T04:13:57.527Z","schemaVersion":2},"datasetVersion":"2026-08-22T09:17:25.309Z"}