hibernate/hibernate-orm · error · HibernateException

increment size cannot be less than 1

Error message

increment size cannot be less than 1

What it means

Error "increment size cannot be less than 1" thrown in hibernate/hibernate-orm.

Source

Thrown at hibernate-core/src/main/java/org/hibernate/id/enhanced/PooledLoThreadLocalOptimizer.java:41

 * @author Scott Marlow
 * @author Steve Ebersole
 * @see PooledOptimizer
 */
public class PooledLoThreadLocalOptimizer extends AbstractOptimizer {

	private final ThreadLocal<GenerationState> singleTenantState = ThreadLocal.withInitial( GenerationState::new );
	private final ThreadLocal<Map<String, GenerationState>> multiTenantStates = ThreadLocal.withInitial( HashMap::new );

	/**
	 * Constructs a {@code PooledLoThreadLocalOptimizer}.
	 *
	 * @param returnClass The Java type of the values to be generated
	 * @param incrementSize The increment size.
	 */
	public PooledLoThreadLocalOptimizer(Class<?> returnClass, int incrementSize) {
		super( returnClass, incrementSize );
		if ( incrementSize < 1 ) {
			throw new HibernateException( "increment size cannot be less than 1" );
		}
		OPTIMIZER_MESSAGE_LOGGER.creatingPooledLoOptimizer( incrementSize, returnClass.getName() );
	}

	@Override
	public Serializable generate(AccessCallback callback) {
		return locateGenerationState( callback.getTenantIdentifier() )
				.generate( callback, incrementSize, returnClass );
	}

	private GenerationState locateGenerationState(String tenantIdentifier) {
		if ( tenantIdentifier == null ) {
			return singleTenantState.get();
		}
		else {
			var states = multiTenantStates.get();
			var state = states.get( tenantIdentifier );
			if ( state == null ) {

View on GitHub (pinned to fad1729dce)

Solutions

  1. Set the generator increment size (allocationSize) to a value >= 1.

When it happens

Trigger: Thrown when an identifier optimizer is configured with an increment size smaller than 1.

Common situations: Typical situations: setting hibernate.id.optimizer or allocationSize to 0 or a negative value; a mismatched sequence increment combined with an invalid optimizer configuration.


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