Browse Source

DATAJDBC-546 - Skip property population if entity can be constructed entirely using a full constructor.

pull/226/head
Mark Paluch 6 years ago
parent
commit
81aba29fda
No known key found for this signature in database
GPG Key ID: 51A00FA751B91849
  1. 4
      spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/BasicJdbcConverter.java

4
spring-data-jdbc/src/main/java/org/springframework/data/jdbc/core/convert/BasicJdbcConverter.java

@ -395,7 +395,6 @@ public class BasicJdbcConverter extends BasicRelationalConverter implements Jdbc
private T populateProperties(T instance, @Nullable Object idValue) { private T populateProperties(T instance, @Nullable Object idValue) {
PersistentPropertyAccessor<T> propertyAccessor = getPropertyAccessor(entity, instance); PersistentPropertyAccessor<T> propertyAccessor = getPropertyAccessor(entity, instance);
PreferredConstructor<T, RelationalPersistentProperty> persistenceConstructor = entity.getPersistenceConstructor(); PreferredConstructor<T, RelationalPersistentProperty> persistenceConstructor = entity.getPersistenceConstructor();
for (RelationalPersistentProperty property : entity) { for (RelationalPersistentProperty property : entity) {
@ -539,7 +538,8 @@ public class BasicJdbcConverter extends BasicRelationalConverter implements Jdbc
RelationalPersistentProperty property = entity.getRequiredPersistentProperty(parameterName); RelationalPersistentProperty property = entity.getRequiredPersistentProperty(parameterName);
return readOrLoadProperty(idValue, property); return readOrLoadProperty(idValue, property);
}); });
return populateProperties(instance, idValue);
return entity.requiresPropertyPopulation() ? populateProperties(instance, idValue) : instance;
} }
} }

Loading…
Cancel
Save