@@ -552,16 +552,15 @@ private Object readEmbedded(ConversionContext conversionContext, RelationalPrope
552552 RowDocumentAccessor source , RelationalPersistentProperty property ,
553553 RelationalPersistentEntity <?> persistentEntity ) {
554554
555- if (shouldReadEmbeddable (conversionContext , property , persistentEntity , provider , source )) {
555+ if (shouldReadEmbeddable (conversionContext , property , persistentEntity , provider )) {
556556 return read (conversionContext , persistentEntity , source );
557557 }
558558
559559 return null ;
560560 }
561561
562562 private boolean shouldReadEmbeddable (ConversionContext context , RelationalPersistentProperty property ,
563- RelationalPersistentEntity <?> unwrappedEntity , RelationalPropertyValueProvider propertyValueProvider ,
564- RowDocumentAccessor source ) {
563+ RelationalPersistentEntity <?> unwrappedEntity , RelationalPropertyValueProvider propertyValueProvider ) {
565564
566565 OnEmpty onEmpty = property .getRequiredAnnotation (Embedded .class ).onEmpty ();
567566
@@ -576,16 +575,14 @@ private boolean shouldReadEmbeddable(ConversionContext context, RelationalPersis
576575
577576 if (persistentProperty .isEmbedded ()) {
578577
579- TypeInformation <?> typeInformation = persistentProperty .getTypeInformation ();
578+ RelationalPersistentEntity <?> nestedEntity = getMappingContext ()
579+ .getRequiredPersistentEntity (persistentProperty );
580580
581- RelationalPersistentEntity <?> nestedEntity = getMappingContext ().getPersistentEntity (typeInformation );
582-
583- if (readEmbedded (nestedContext , contextual , source , persistentProperty , nestedEntity ) != null ) {
581+ if (shouldReadEmbeddable (nestedContext , persistentProperty , nestedEntity , contextual )) {
584582 return true ;
585583 }
586- }
587584
588- if (contextual .hasValue (persistentProperty )) {
585+ } else if (contextual .hasValue (persistentProperty )) {
589586 return true ;
590587 }
591588 }
0 commit comments