code: private void readEmbeddable(Object key, List<String> columnsToSelect, EntityMetadata entityMetadata,
              MetamodelImpl metamodel, Table schemaTable, RecordValue value, Attribute attribute)
      {
          EmbeddableType embeddableId = metamodel.embeddable(((AbstractAttribute) attribute).getBindableJavaType());
          Set<Attribute> embeddedAttributes = embeddableId.getAttributes();
  
          for (Attribute embeddedAttrib : embeddedAttributes)
          {
              String columnName = ((AbstractAttribute) embeddedAttrib).getJPAColumnName();
              Object embeddedColumn = PropertyAccessorHelper.getObject(key, (Field) embeddedAttrib.getJavaMember());
  
              // either null or empty or contains that column
              if (eligibleToFetch(columnsToSelect, columnName))
              {
                  NoSqlDBUtils.add(schemaTable.getField(columnName), value, embeddedColumn, columnName);
              }
          }
      }
docs: Read embeddable.
  
  @param key
  the key
  @param columnsToSelect
  the columns to select
  @param entityMetadata
  the entity metadata
  @param metamodel
  the metamodel
  @param schemaTable
  the schema table
  @param value
  the value
  @param attribute
  the attribute