code: private EmbeddedColumnInfo getEmbeddedColumn(TableInfo tableInfo, EmbeddableType embeddableType,
              String embeddableColName, Class embeddedEntityClass, Field field)
      {
  
          String[] orderByColumns = null;
          if (field.isAnnotationPresent(OrderBy.class))
          {
              OrderBy order = (OrderBy) field.getAnnotation(OrderBy.class);
              orderByColumns = order.value().split("\\s*,\\s*");
          }
          EmbeddedColumnInfo embeddedColumnInfo = new EmbeddedColumnInfo(embeddableType);
          embeddedColumnInfo.setEmbeddedColumnName(embeddableColName);
          Map<String, PropertyIndex> indexedColumns = IndexProcessor.getIndexesOnEmbeddable(embeddedEntityClass);
          List<ColumnInfo> columns = new ArrayList<ColumnInfo>();
  
          Set attributes = embeddableType.getAttributes();
          Iterator<Attribute> iter = attributes.iterator();
  
          while (iter.hasNext())
          {
              Attribute attr = iter.next();
              columns.add(getColumn(tableInfo, attr, indexedColumns.get(attr.getName()), orderByColumns));
          }
          embeddedColumnInfo.setColumns(columns);
          return embeddedColumnInfo;
      }
docs: Get Embedded column info.
  
  @param embeddableType
  @param embeddableColName
  @param embeddedEntityClass
  @param field
  @return