{"record":{"id":"e197e9ffe942f99a","repo":"hibernate/hibernate-orm","slug":"bad-number-of-accessors","errorCode":null,"errorMessage":"bad number of accessors","messagePattern":"bad number of accessors","errorType":"exception","errorClass":"HibernateException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/bytecode/internal/bytebuddy/BytecodeProviderImpl.java","lineNumber":382,"sourceCode":"\t\t\tc = c.getSuperclass();\n\t\t}\n\t\treturn bridgeMembersClassInfos;\n\t}\n\n\tpublic ByteBuddyProxyHelper getByteBuddyProxyHelper() {\n\t\treturn byteBuddyProxyHelper;\n\t}\n\n\tprivate static void findAccessors(\n\t\t\tClass<?> clazz,\n\t\t\tString[] getterNames,\n\t\t\tString[] setterNames,\n\t\t\tClass<?>[] types,\n\t\t\tMethod[] getters,\n\t\t\tMethod[] setters) {\n\t\tfinal int length = types.length;\n\t\tif ( setterNames.length != length || getterNames.length != length ) {\n\t\t\tthrow new HibernateException( \"bad number of accessors\" );\n\t\t}\n\n\t\tfinal Class<?>[] getParam = new Class[0];\n\t\tfor ( int i = 0; i < length; i++ ) {\n\t\t\tif ( getterNames[i] != null ) {\n\t\t\t\tfinal Method getter = findAccessor( clazz, getterNames[i], getParam );\n\t\t\t\tif ( getter.getReturnType() != types[i] ) {\n\t\t\t\t\tthrow new HibernateException( \"wrong return type: \" + getterNames[i] );\n\t\t\t\t}\n\n\t\t\t\tgetters[i] = getter;\n\t\t\t}\n\n\t\t\tif ( setterNames[i] != null ) {\n\t\t\t\tsetters[i] = ReflectHelper.setterMethodOrNullBySetterName( clazz, setterNames[i], types[i] );\n\t\t\t\tif ( setters[i] == null ) {\n\t\t\t\t\tthrow new HibernateException(\n\t\t\t\t\t\t\tString.format(","sourceCodeStart":364,"sourceCodeEnd":400,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/bytecode/internal/bytebuddy/BytecodeProviderImpl.java#L364-L400","documentation":"Error \"bad number of accessors\" thrown in hibernate/hibernate-orm.","triggerScenarios":"Bytecode enhancement, proxy creation, or lazy interception is applied to an incompatible class or configuration.","commonSituations":"Build-time enhancement with module-system restrictions, mismatched Hibernate versions between build and runtime, or hibernate.bytecode.provider=none with a model that needs proxies.","solutions":["Ensure every persistent property has a matching getter/setter pair with consistent types; check for misnamed accessors after refactoring."],"exampleFix":"Ensure every persistent property has a matching getter/setter pair with consistent types; check for misnamed accessors after refactoring.","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"}