hibernate/hibernate-orm · error · HibernateException

Incompatible validation modes mixed: %s

Error message

Incompatible validation modes mixed: %s

What it means

Error "Incompatible validation modes mixed: %s" thrown in hibernate/hibernate-orm.

Source

Thrown at hibernate-core/src/main/java/org/hibernate/boot/beanvalidation/ValidationMode.java:58

			case CALLBACK -> "callback";
			case NONE -> "none";
			case DDL -> "ddl";
		};
	}

	public static Set<ValidationMode> parseValidationModes(Object modeProperty) {
		final Set<ValidationMode> modes = setOfSize( 3 );
		if ( modeProperty == null ) {
			modes.add( ValidationMode.AUTO );
		}
		else {
			for ( String modeInString : split( ",", modeProperty.toString() ) ) {
				modes.add( parseValidationMode( modeInString ) );
			}
		}
		if ( modes.size() > 1
				&& ( modes.contains( ValidationMode.AUTO ) || modes.contains( ValidationMode.NONE ) ) ) {
			throw new HibernateException( "Incompatible validation modes mixed: " +  loggable( modes ) );
		}
		return modes;
	}

	private static ValidationMode parseValidationMode(String modeProperty) {
		if ( modeProperty == null || modeProperty.isBlank() ) {
			return AUTO;
		}
		else {
			try {
				return valueOf( modeProperty.trim().toUpperCase(Locale.ROOT) );
			}
			catch ( IllegalArgumentException e ) {
				throw new HibernateException( "Unknown validation mode in "
						+ BeanValidationIntegrator.JAKARTA_MODE_PROPERTY
						+ ": " + modeProperty );
			}
		}

View on GitHub (pinned to fad1729dce)

Solutions

  1. Use a single validation mode: set jakarta.persistence.validation.mode to exactly one of AUTO, CALLBACK, or NONE.
  2. If mixing modes via a comma-separated list, note that CALLBACK cannot be combined with NONE; pick the intended one.
  3. Remove duplicate/conflicting validation mode settings from persistence.xml and programmatic configuration.

When it happens

Trigger: The jakarta.persistence.validation.mode setting contains an invalid or mixed value.

Common situations: Typos in the validation mode (e.g. 'calback'), or listing incompatible modes such as NONE together with CALLBACK/AUTO in a comma-separated list.


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