hibernate/hibernate-orm · error · MappingException
@EmbeddedColumnNaming expects pattern with exactly 1 format
Error message
@EmbeddedColumnNaming expects pattern with exactly 1 format maker, but found %s - `%s` (%s#%s)
What it means
Error "@EmbeddedColumnNaming expects pattern with exactly 1 format maker, but found %s - `%s` (%s#%s)" thrown in hibernate/hibernate-orm.
Source
Thrown at hibernate-core/src/main/java/org/hibernate/boot/model/internal/EmbeddableBinder.java:1089
if ( inferredData.getAttributeMember() == null ) {
// generally indicates parts of a plural mapping (element, key, bag-id)
return;
}
final var columnNaming =
inferredData.getAttributeMember().getDirectAnnotationUsage( EmbeddedColumnNaming.class );
if ( columnNaming == null ) {
return;
}
final String columnNamingPattern = NullnessHelper.coalesce(
columnNaming.value(),
inferredData.getPropertyName() + "_%s"
);
final int markerCount = StringHelper.count( columnNamingPattern, '%' );
if ( markerCount != 1 ) {
throw new MappingException( String.format(
Locale.ROOT,
"@EmbeddedColumnNaming expects pattern with exactly 1 format maker, but found %s - `%s` (%s#%s)",
markerCount,
columnNamingPattern,
inferredData.getAttributeMember().getDeclaringType().getName(),
inferredData.getAttributeMember().getName()
) );
}
embeddable.setColumnNamingPattern( columnNamingPattern );
}
private static ConstructorDetails resolveInstantiator(TypeDetails embeddableClass) {
return embeddableClass == null ? null : resolveInstantiator( embeddableClass.determineRawClass() );
}
private static ConstructorDetails resolveInstantiator(ClassDetails embeddableClass) {
if ( embeddableClass == null ) {View on GitHub (pinned to fad1729dce)
Solutions
- Change the @EmbeddedColumnNaming pattern to contain exactly one format marker.
When it happens
Trigger: An @Embeddable / @Embedded / @ElementCollection mapping violates an embeddable mapping constraint.
Common situations: Embeddables with @Id members, inheritance, recursive composition, or properties split across multiple tables; or @Convert/@EmbeddedTable placed where unsupported.
AI-assisted analysis of hibernate/hibernate-orm@fad1729dce (2026-08-22).
Data as JSON: /api/errors/7200a32f35fe9389.
Report an issue: GitHub.