hibernate/hibernate-orm · error · IllegalStateException

called MergeContext#setOperatedOn() for mergeEntity not foun

Error message

called MergeContext#setOperatedOn() for mergeEntity not found in MergeContext

What it means

Error "called MergeContext#setOperatedOn() for mergeEntity not found in MergeContext" thrown in hibernate/hibernate-orm.

Source

Thrown at hibernate-core/src/main/java/org/hibernate/event/spi/MergeContext.java:342

		}
		final Boolean isOperatedOn = mergeEntityToOperatedOnFlagMap.get( mergeEntity );
		return isOperatedOn != null && isOperatedOn;
	}

	/**
	 * Set flag to indicate if the listener is performing the merge operation on the specified merge entity.
	 * @param mergeEntity must be non-null and this MergeContext must contain a cross-reference for mergeEntity
	 *                       to a managed entity
	 * @throws NullPointerException if mergeEntity is null
	 * @throws IllegalStateException if this MergeContext does not contain a a cross-reference for mergeEntity
	 */
	public void setOperatedOn(@Nonnull Object mergeEntity, boolean isOperatedOn) {
		if ( mergeEntity == null ) {
			throw new NullPointerException( "null entities are not supported by " + getClass().getName() );
		}
		if ( ! mergeEntityToOperatedOnFlagMap.containsKey( mergeEntity ) ||
			! mergeToManagedEntityXref.containsKey( mergeEntity ) ) {
			throw new IllegalStateException( "called MergeContext#setOperatedOn() for mergeEntity not found in MergeContext" );
		}
		mergeEntityToOperatedOnFlagMap.put( mergeEntity, isOperatedOn );
	}

	/**
	 * Returns an unmodifiable map view of the managed-to-merge entity
	 * cross-references.
	 *
	 * The returned Map will contain a cross-reference from each managed entity
	 * to the most recently associated merge entity that was most recently put in the MergeContext.
	 *
	 * @return an unmodifiable map view of the managed-to-merge entity cross-references.
	 *
	 * @see Collections#unmodifiableMap(Map)
	 */
	public @Nonnull Map<Object,Object> invertMap() {
		return Collections.unmodifiableMap( managedToMergeEntityXref );
	}

View on GitHub (pinned to fad1729dce)

Solutions

  1. This indicates an internal Hibernate state inconsistency; upgrade Hibernate to a version where the issue is fixed or report it with a reproducer.
  2. Avoid custom MergeEvent listeners that manipulate the MergeContext directly.

When it happens

Trigger: Thrown when setOperatedOn() is called for a merge entity that was never registered in the MergeContext.

Common situations: Typical situations: custom merge listeners operating on entities outside the current merge cycle; incorrect MergeContext lifecycle usage.


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