hibernate/hibernate-orm · error · TransformerException

Error performing enhancement of {}

Error message

Error performing enhancement of {}

What it means

Error "Error performing enhancement of {}" thrown in hibernate/hibernate-orm.

Source

Thrown at hibernate-core/src/main/java/org/hibernate/jpa/internal/enhance/EnhancingClassTransformerImpl.java:61

			String className,
			Class<?> classBeingRedefined,
			ProtectionDomain protectionDomain,
			byte[] classfileBuffer)  throws TransformerException {

		//N.B. the "className" argument doesn't use the dot-format but the slashes for package separators.
		final String classNameDotFormat = className.replace( '/', '.' );
		if ( CorePrefixFilter.DEFAULT_INSTANCE.isCoreClassName( classNameDotFormat ) ) {
			//Take care to not transform certain types; this is both an optimisation (we can skip this unnecessary work)
			//and a safety precaution as we otherwise risk attempting to redefine classes which have already been loaded:
			//see https://hibernate.atlassian.net/browse/HHH-18108
			return null;
		}

		try {
			return getEnhancer( loader ).enhance( className, classfileBuffer );
		}
		catch (final Exception e) {
			throw new TransformerException( "Error performing enhancement of " + className, e );
		}
	}

	@Override
	public void discoverTypes(ClassLoader loader, String className) {
		getEnhancer( loader ).discoverTypes( className, null );
	}

	private Enhancer getEnhancer(ClassLoader loader) {
		Entry enhancerEntry = getEnhancerEntry( entryReference, loader );
		if ( enhancerEntry == null ) {
			lock.lock();
			try {
				enhancerEntry = getEnhancerEntry( entryReference, loader );
				if ( enhancerEntry == null ) {
					enhancerEntry = new Entry( loader, createEnhancer( loader ) );
					entryReference = new WeakReference<>( enhancerEntry );
				}

View on GitHub (pinned to fad1729dce)

Solutions

  1. 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.
  2. Ensure the bytecode enhancement plugin version matches the Hibernate version.

When it happens

Trigger: Thrown at hibernate-core/src/main/java/org/hibernate/jpa/internal/enhance/EnhancingClassTransformerImpl.java:61 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of hibernate/hibernate-orm@fad1729dce (2026-08-22). Data as JSON: /api/errors/955c532d992c01ce. Report an issue: GitHub.