{"record":{"id":"8b9d7aa96e71f39d","repo":"hibernate/hibernate-orm","slug":"major-version-can-not-be-null","errorCode":null,"errorMessage":"Major version can not be null","messagePattern":"Major version can not be null","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/dialect/SimpleDatabaseVersion.java","lineNumber":53,"sourceCode":"\t\t}\n\t\telse {\n\t\t\tmicro = version.getDatabaseMicroVersion();\n\t\t}\n\t}\n\n\tpublic SimpleDatabaseVersion(int major, int minor) {\n\t\tthis( major, minor, 0 );\n\t}\n\n\tpublic SimpleDatabaseVersion(int major, int minor, int micro) {\n\t\tthis.major = major;\n\t\tthis.minor = minor;\n\t\tthis.micro = micro;\n\t}\n\n\tpublic SimpleDatabaseVersion(Integer major, Integer minor) {\n\t\tif ( major == null ) {\n\t\t\tthrow new IllegalArgumentException( \"Major version can not be null\" );\n\t\t}\n\n\t\tthis.major = major;\n\t\tthis.minor = minor == null ? NO_VERSION : minor;\n\t\tthis.micro = 0;\n\t}\n\n\t@Override\n\tpublic int getDatabaseMajorVersion() {\n\t\treturn major;\n\t}\n\n\t@Override\n\tpublic int getDatabaseMinorVersion() {\n\t\treturn minor;\n\t}\n\n\t@Override","sourceCodeStart":35,"sourceCodeEnd":71,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/dialect/SimpleDatabaseVersion.java#L35-L71","documentation":"Error \"Major version can not be null\" thrown in hibernate/hibernate-orm.","triggerScenarios":"Triggered when the application calls a Hibernate dialect feature that the configured database dialect cannot provide: Major version can not be null.","commonSituations":"Common when running against a database whose dialect lacks this capability, when a mapping or HQL/Criteria query requests unsupported functionality, or when the wrong dialect is configured for the database in use. Error: Major version can not be null.","solutions":["Ensure JDBC metadata returns a major version.","Pass an explicit version when constructing the dialect."],"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"}