|
|
|
@ -552,7 +552,7 @@ public class MappingRelationalConverter extends AbstractRelationalConverter impl |
|
|
|
RowDocumentAccessor source, RelationalPersistentProperty property, |
|
|
|
RowDocumentAccessor source, RelationalPersistentProperty property, |
|
|
|
RelationalPersistentEntity<?> persistentEntity) { |
|
|
|
RelationalPersistentEntity<?> persistentEntity) { |
|
|
|
|
|
|
|
|
|
|
|
if (shouldReadEmbeddable(conversionContext, property, persistentEntity, provider, source)) { |
|
|
|
if (shouldReadEmbeddable(conversionContext, property, persistentEntity, provider)) { |
|
|
|
return read(conversionContext, persistentEntity, source); |
|
|
|
return read(conversionContext, persistentEntity, source); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -560,8 +560,7 @@ public class MappingRelationalConverter extends AbstractRelationalConverter impl |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private boolean shouldReadEmbeddable(ConversionContext context, RelationalPersistentProperty property, |
|
|
|
private boolean shouldReadEmbeddable(ConversionContext context, RelationalPersistentProperty property, |
|
|
|
RelationalPersistentEntity<?> unwrappedEntity, RelationalPropertyValueProvider propertyValueProvider, |
|
|
|
RelationalPersistentEntity<?> unwrappedEntity, RelationalPropertyValueProvider propertyValueProvider) { |
|
|
|
RowDocumentAccessor source) { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
OnEmpty onEmpty = property.getRequiredAnnotation(Embedded.class).onEmpty(); |
|
|
|
OnEmpty onEmpty = property.getRequiredAnnotation(Embedded.class).onEmpty(); |
|
|
|
|
|
|
|
|
|
|
|
@ -576,16 +575,14 @@ public class MappingRelationalConverter extends AbstractRelationalConverter impl |
|
|
|
|
|
|
|
|
|
|
|
if (persistentProperty.isEmbedded()) { |
|
|
|
if (persistentProperty.isEmbedded()) { |
|
|
|
|
|
|
|
|
|
|
|
TypeInformation<?> typeInformation = persistentProperty.getTypeInformation(); |
|
|
|
RelationalPersistentEntity<?> nestedEntity = getMappingContext() |
|
|
|
|
|
|
|
.getRequiredPersistentEntity(persistentProperty); |
|
|
|
|
|
|
|
|
|
|
|
RelationalPersistentEntity<?> nestedEntity = getMappingContext().getPersistentEntity(typeInformation); |
|
|
|
if (shouldReadEmbeddable(nestedContext, persistentProperty, nestedEntity, contextual)) { |
|
|
|
|
|
|
|
|
|
|
|
if (readEmbedded(nestedContext, contextual, source, persistentProperty, nestedEntity) != null) { |
|
|
|
|
|
|
|
return true; |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (contextual.hasValue(persistentProperty)) { |
|
|
|
} else if (contextual.hasValue(persistentProperty)) { |
|
|
|
return true; |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|