Skip to content

Commit ff6d0dd

Browse files
committed
DATACMNS-642 - Avoid setter lookup in BeanWrapper for if field access is used.
We now delay the lookup of the setter method until we discover we really need to use property access.
1 parent a171005 commit ff6d0dd

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/main/java/org/springframework/data/mapping/model/BeanWrapper.java

+5-3
Original file line numberDiff line numberDiff line change
@@ -66,17 +66,19 @@ public void setProperty(PersistentProperty<?> property, Object value) {
6666

6767
Assert.notNull(property, "PersistentProperty must not be null!");
6868

69-
Method setter = property.getSetter();
70-
7169
try {
7270

7371
if (!property.usePropertyAccess()) {
7472

7573
Object valueToSet = getPotentiallyConvertedValue(value, property.getType());
7674
ReflectionUtils.makeAccessible(property.getField());
7775
ReflectionUtils.setField(property.getField(), bean, valueToSet);
76+
return;
77+
}
78+
79+
Method setter = property.getSetter();
7880

79-
} else if (property.usePropertyAccess() && setter != null) {
81+
if (property.usePropertyAccess() && setter != null) {
8082

8183
Class<?>[] paramTypes = setter.getParameterTypes();
8284
Object valueToSet = getPotentiallyConvertedValue(value, paramTypes[0]);

0 commit comments

Comments
 (0)