{"record":{"id":"955c532d992c01ce","repo":"hibernate/hibernate-orm","slug":"error-performing-enhancement-of","errorCode":null,"errorMessage":"Error performing enhancement of {}","messagePattern":"Error performing enhancement of (.+?)","errorType":"exception","errorClass":"TransformerException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/jpa/internal/enhance/EnhancingClassTransformerImpl.java","lineNumber":61,"sourceCode":"\t\t\tString className,\n\t\t\tClass<?> classBeingRedefined,\n\t\t\tProtectionDomain protectionDomain,\n\t\t\tbyte[] classfileBuffer)  throws TransformerException {\n\n\t\t//N.B. the \"className\" argument doesn't use the dot-format but the slashes for package separators.\n\t\tfinal String classNameDotFormat = className.replace( '/', '.' );\n\t\tif ( CorePrefixFilter.DEFAULT_INSTANCE.isCoreClassName( classNameDotFormat ) ) {\n\t\t\t//Take care to not transform certain types; this is both an optimisation (we can skip this unnecessary work)\n\t\t\t//and a safety precaution as we otherwise risk attempting to redefine classes which have already been loaded:\n\t\t\t//see https://hibernate.atlassian.net/browse/HHH-18108\n\t\t\treturn null;\n\t\t}\n\n\t\ttry {\n\t\t\treturn getEnhancer( loader ).enhance( className, classfileBuffer );\n\t\t}\n\t\tcatch (final Exception e) {\n\t\t\tthrow new TransformerException( \"Error performing enhancement of \" + className, e );\n\t\t}\n\t}\n\n\t@Override\n\tpublic void discoverTypes(ClassLoader loader, String className) {\n\t\tgetEnhancer( loader ).discoverTypes( className, null );\n\t}\n\n\tprivate Enhancer getEnhancer(ClassLoader loader) {\n\t\tEntry enhancerEntry = getEnhancerEntry( entryReference, loader );\n\t\tif ( enhancerEntry == null ) {\n\t\t\tlock.lock();\n\t\t\ttry {\n\t\t\t\tenhancerEntry = getEnhancerEntry( entryReference, loader );\n\t\t\t\tif ( enhancerEntry == null ) {\n\t\t\t\t\tenhancerEntry = new Entry( loader, createEnhancer( loader ) );\n\t\t\t\t\tentryReference = new WeakReference<>( enhancerEntry );\n\t\t\t\t}","sourceCodeStart":43,"sourceCodeEnd":79,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/jpa/internal/enhance/EnhancingClassTransformerImpl.java#L43-L79","documentation":"Error \"Error performing enhancement of {}\" thrown in hibernate/hibernate-orm.","triggerScenarios":"Thrown at hibernate-core/src/main/java/org/hibernate/jpa/internal/enhance/EnhancingClassTransformerImpl.java:61 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the cause exception: usually a bytecode enhancement failure due to an unsupported construct; make the class enhancable (non-final where required, valid accessors) or disable enhancement for it.","Ensure the bytecode enhancement plugin version matches the Hibernate version."],"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"}