hibernate/hibernate-orm · error · IllegalArgumentException
Fetch was already defined for %s.%s : %s
Error message
Fetch was already defined for %s.%s : %s
What it means
Error "Fetch was already defined for %s.%s : %s" thrown in hibernate/hibernate-orm.
Source
Thrown at hibernate-core/src/main/java/org/hibernate/query/results/internal/dynamic/AbstractFetchBuilderContainer.java:67
return (T) this;
}
@Override
public T addProperty(Fetchable fetchable, String... columnAliases) {
final var fetchBuilder = addProperty( fetchable );
ArrayHelper.forEach( columnAliases, fetchBuilder::addColumnAlias );
return (T) this;
}
@Override
public DynamicFetchBuilder addProperty(Fetchable fetchable) {
if ( fetchBuilderMap == null ) {
fetchBuilderMap = new HashMap<>();
}
else {
final var existing = fetchBuilderMap.get( fetchable );
if ( existing != null ) {
throw new IllegalArgumentException(
String.format(
Locale.ROOT,
"Fetch was already defined for %s.%s : %s",
getPropertyBase(),
fetchable,
existing
)
);
}
}
final var fetchBuilder = new DynamicFetchBuilderStandard( fetchable );
fetchBuilderMap.put( fetchable, fetchBuilder );
return fetchBuilder;
}
@Override
public void addFetchBuilder(Fetchable fetchable, FetchBuilder fetchBuilder) {View on GitHub (pinned to fad1729dce)
Solutions
- A fetch for that attribute was already defined. Remove the duplicate fetch definition.
When it happens
Trigger: A dynamic native-result mapping is built inconsistently: Fetch was already defined for <value>.<value> : <value>
Common situations: Defining the same fetch twice, fetching an unsupported type, or an instantiation mapping with no constructor arguments.
AI-assisted analysis of hibernate/hibernate-orm@fad1729dce (2026-08-22).
Data as JSON: /api/errors/9eb17e4cb3dfafc8.
Report an issue: GitHub.