hibernate/hibernate-orm · error · CompositeValueGenerationException
Generated column values were not provided for composite attr
Error message
Generated column values were not provided for composite attribute: {}.{} What it means
Error "Generated column values were not provided for composite attribute: {}.{}" thrown in hibernate/hibernate-orm.
Source
Thrown at hibernate-core/src/main/java/org/hibernate/generator/internal/CompositeGeneratorBuilder.java:134
}
if ( generator instanceof OnExecutionGenerator onExecutionGenerator
&& generator.generatedOnExecution() ) {
final var generatorEventTypes = generator.getEventTypes();
for ( var eventType : eventTypes ) {
final var details = columnValueDetailsByEvent.get( eventType );
if ( details != null ) {
if ( generatorEventTypes.contains( eventType ) ) {
if ( !onExecutionGenerator.referenceColumnsInSql( dialect, eventType ) ) {
details.excludeColumns( columnIndex, span );
}
else if ( onExecutionGenerator.writePropertyValue( eventType ) ) {
// leave the default parameter marker values in place
}
else {
final String[] referencedColumnValues =
onExecutionGenerator.getReferencedColumnValues( dialect, eventType );
if ( referencedColumnValues == null ) {
throw new CompositeValueGenerationException(
"Generated column values were not provided for composite attribute: "
+ mappingProperty.getName() + '.' + property.getName()
);
}
if ( referencedColumnValues.length != span ) {
throw new CompositeValueGenerationException(
"Mismatch between number of collected generated column values and number of columns for composite attribute: "
+ mappingProperty.getName() + '.' + property.getName()
);
}
details.setColumnValues( columnIndex, referencedColumnValues );
}
}
else if ( !onExecutionGenerator.allowMutation() ) {
details.excludeColumns( columnIndex, span );
}
}
}View on GitHub (pinned to fad1729dce)
Solutions
- Ensure every generated column of the composite attribute has @Generated or a matching generator so values are produced.
- Check the composite attribute mapping so that the set of generated columns matches what the generator provides.
When it happens
Trigger: Thrown when a composite attribute with generated columns receives no generated values from the database.
Common situations: Typical situations: the driver/database not returning generated values for all columns of the composite; partial generation metadata in the mapping.
AI-assisted analysis of hibernate/hibernate-orm@fad1729dce (2026-08-22).
Data as JSON: /api/errors/f97690a755c72cd8.
Report an issue: GitHub.