diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/persistence/AbstractConstructorEntityInstantiator.java b/spring-data-commons-core/src/main/java/org/springframework/data/persistence/AbstractConstructorEntityInstantiator.java index 3109d29a8..ec93c99d0 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/persistence/AbstractConstructorEntityInstantiator.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/persistence/AbstractConstructorEntityInstantiator.java @@ -57,14 +57,18 @@ public abstract class AbstractConstructorEntityInstantiator StateBackedCreator createFailingInstantiator(final Class stateType) { return new StateBackedCreator() { - public T create(STATE state, Class c) throws Exception { - throw new IllegalArgumentException(getClass().getSimpleName() + ": entity " + c + - " must have either a constructor taking [" + stateType + "] or a no-arg constructor and state set method"); + public T create(STATE n, Class c) throws Exception { + throw new IllegalArgumentException(getFailingMessageForClass(c, stateType)); } }; } - protected StateBackedCreator emptyConstructorStateSettingInstantiator(Class type, Class stateType) { + protected String getFailingMessageForClass(Class entityClass, Class stateClass) { + return getClass().getSimpleName() + ": entity " + entityClass + + " must have either a constructor taking [" + stateClass + "] or a no-arg constructor and state setter."; + } + + private StateBackedCreator emptyConstructorStateSettingInstantiator(Class type, Class stateType) { final Constructor constructor = getNoArgConstructor(type); if (constructor == null) return null;